Makefile revision 189588
129615Sjmg# $FreeBSD: head/sys/boot/i386/loader/Makefile 189588 2009-03-09 17:16:29Z jhb $ 229615Sjmg 329615Sjmg.include <bsd.own.mk> 429615SjmgMK_SSP= no 529615Sjmg 629615SjmgPROG= loader.sym 729615SjmgINTERNALPROG= 829615SjmgNEWVERSWHAT= "bootstrap loader" i386 929615Sjmg 1029615Sjmg# architecture-specific loader code 1129615SjmgSRCS= main.c conf.c vers.c 1229615Sjmg 1329615Sjmg# Put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf for FireWire/dcons support 1429615Sjmg.if defined(LOADER_FIREWIRE_SUPPORT) 1529615SjmgCFLAGS+= -DLOADER_FIREWIRE_SUPPORT 1629615SjmgLIBFIREWIRE= ${.OBJDIR}/../libfirewire/libfirewire.a 1729615Sjmg.endif 1829615Sjmg 1929615Sjmg# Put LOADER_ZFS_SUPPORT=yes in /etc/make.conf for ZFS support 2029615Sjmg.if defined(LOADER_ZFS_SUPPORT) 2129615SjmgCFLAGS+= -DLOADER_ZFS_SUPPORT 2229615SjmgLIBZFS= ${.OBJDIR}/../../zfs/libzfsboot.a 2329615Sjmg.else 2429615SjmgLIBZFS= 2529615Sjmg.endif 2629615Sjmg 2729615Sjmg# Enable PXE TFTP or NFS support, not both. 2829615Sjmg.if defined(LOADER_TFTP_SUPPORT) 2929615SjmgCFLAGS+= -DLOADER_TFTP_SUPPORT 3029615Sjmg.else 3150964SpeterCFLAGS+= -DLOADER_NFS_SUPPORT 3229615Sjmg.endif 3329615Sjmg 3429615Sjmg# Include bcache code. 3529615SjmgHAVE_BCACHE= yes 3629615Sjmg 3729615Sjmg# Enable PnP and ISA-PnP code. 3875670SruHAVE_PNP= yes 3929615SjmgHAVE_ISABUS= yes 4073272Sru 4129615Sjmg.if ${MK_FORTH} != "no" 4273272Sru# Enable BootForth 43147440SruBOOT_FORTH= yes 44147440SruCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 45147440SruLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 4629615Sjmg.endif 4729615Sjmg 4829615Sjmg.if defined(LOADER_BZIP2_SUPPORT) 4929615SjmgCFLAGS+= -DLOADER_BZIP2_SUPPORT 5029615Sjmg.endif 5129615Sjmg.if !defined(LOADER_NO_GZIP_SUPPORT) 5229615SjmgCFLAGS+= -DLOADER_GZIP_SUPPORT 5373272Sru.endif 5473272Sru.if !defined(LOADER_NO_GPT_SUPPORT) 5573272SruCFLAGS+= -DLOADER_GPT_SUPPORT 56162382Sru.endif 57162382Sru 58# Always add MI sources 59.PATH: ${.CURDIR}/../../common 60.include "${.CURDIR}/../../common/Makefile.inc" 61CFLAGS+= -I${.CURDIR}/../../common 62CFLAGS+= -I. 63 64CLEANFILES= vers.c loader loader.bin loader.help 65 66CFLAGS+= -Wall 67LDFLAGS= -static -Ttext 0x0 68 69# i386 standalone support library 70LIBI386= ${.OBJDIR}/../libi386/libi386.a 71CFLAGS+= -I${.CURDIR}/.. 72 73# BTX components 74CFLAGS+= -I${.CURDIR}/../btx/lib 75 76# Debug me! 77#CFLAGS+= -g 78#LDFLAGS+= -g 79 80# Pick up ../Makefile.inc early. 81.include <bsd.init.mk> 82 83vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 84 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 85 86loader: loader.bin ${BTXLDR} ${BTXKERN} 87 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 88 -b ${BTXKERN} loader.bin 89 90loader.bin: loader.sym 91 cp ${.ALLSRC} ${.TARGET} 92 strip -R .comment -R .note ${.TARGET} 93 94loader.help: help.common help.i386 95 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 96 97.PATH: ${.CURDIR}/../../forth 98FILES= loader loader.help loader.4th support.4th loader.conf 99FILES+= screen.4th frames.4th beastie.4th 100# XXX INSTALLFLAGS_loader= -b 101FILESMODE_loader= ${BINMODE} -b 102FILESDIR_loader.conf= /boot/defaults 103 104.if !exists(${DESTDIR}/boot/loader.rc) 105FILES+= loader.rc 106.endif 107 108# XXX crt0.o needs to be first for pxeboot(8) to work 109OBJS= ${BTXCRT} 110 111DPADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} ${LIBSTAND} 112LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} -lstand 113 114.include <bsd.prog.mk> 115 116.if ${MACHINE_ARCH} == "amd64" 117beforedepend ${OBJS}: machine 118CLEANFILES+= machine 119machine: 120 ln -sf ${.CURDIR}/../../../i386/include machine 121.endif 122