Makefile revision 185029
1# $FreeBSD: head/sys/boot/i386/loader/Makefile 185029 2008-11-17 20:49:29Z pjd $ 2 3WITHOUT_SSP= 4 5.include <bsd.own.mk> 6 7PROG= loader.sym 8INTERNALPROG= 9NEWVERSWHAT= "bootstrap loader" i386 10 11# architecture-specific loader code 12SRCS= main.c conf.c vers.c 13 14# Put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf for FireWire/dcons support 15.if defined(LOADER_FIREWIRE_SUPPORT) 16CFLAGS+= -DLOADER_FIREWIRE_SUPPORT 17LIBFIREWIRE= ${.OBJDIR}/../libfirewire/libfirewire.a 18.endif 19 20# Put LOADER_ZFS_SUPPORT=yes in /etc/make.conf for ZFS support 21.if defined(LOADER_ZFS_SUPPORT) 22CFLAGS+= -DLOADER_ZFS_SUPPORT 23LIBZFS= ${.OBJDIR}/../../zfs/libzfsboot.a 24.endif 25 26# Enable PXE TFTP or NFS support, not both. 27.if defined(LOADER_TFTP_SUPPORT) 28CFLAGS+= -DLOADER_TFTP_SUPPORT 29.else 30CFLAGS+= -DLOADER_NFS_SUPPORT 31.endif 32 33# Include bcache code. 34HAVE_BCACHE= yes 35 36# Enable PnP and ISA-PnP code. 37HAVE_PNP= yes 38HAVE_ISABUS= yes 39 40.if ${MK_FORTH} != "no" 41# Enable BootForth 42BOOT_FORTH= yes 43CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 44LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 45.endif 46 47.if defined(LOADER_BZIP2_SUPPORT) 48CFLAGS+= -DLOADER_BZIP2_SUPPORT 49.endif 50.if !defined(LOADER_NO_GZIP_SUPPORT) 51CFLAGS+= -DLOADER_GZIP_SUPPORT 52.endif 53 54# Always add MI sources 55.PATH: ${.CURDIR}/../../common 56.include "${.CURDIR}/../../common/Makefile.inc" 57CFLAGS+= -I${.CURDIR}/../../common 58CFLAGS+= -I. 59 60CLEANFILES= vers.c loader loader.bin loader.help 61 62CFLAGS+= -Wall 63LDFLAGS= -static -Ttext 0x0 64 65# i386 standalone support library 66LIBI386= ${.OBJDIR}/../libi386/libi386.a 67CFLAGS+= -I${.CURDIR}/.. 68 69# BTX components 70CFLAGS+= -I${.CURDIR}/../btx/lib 71 72# Debug me! 73#CFLAGS+= -g 74#LDFLAGS+= -g 75 76# Pick up ../Makefile.inc early. 77.include <bsd.init.mk> 78 79vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 80 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 81 82loader: loader.bin ${BTXLDR} ${BTXKERN} 83 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 84 -b ${BTXKERN} loader.bin 85 86loader.bin: loader.sym 87 cp ${.ALLSRC} ${.TARGET} 88 strip -R .comment -R .note ${.TARGET} 89 90loader.help: help.common help.i386 91 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 92 93.PATH: ${.CURDIR}/../../forth 94FILES= loader loader.help loader.4th support.4th loader.conf 95FILES+= screen.4th frames.4th beastie.4th 96# XXX INSTALLFLAGS_loader= -b 97FILESMODE_loader= ${BINMODE} -b 98FILESDIR_loader.conf= /boot/defaults 99 100.if !exists(${DESTDIR}/boot/loader.rc) 101FILES+= loader.rc 102.endif 103 104# XXX crt0.o needs to be first for pxeboot(8) to work 105OBJS= ${BTXCRT} 106 107DPADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} ${LIBSTAND} 108LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFS} ${LIBI386} -lstand 109 110.include <bsd.prog.mk> 111 112.if ${MACHINE_ARCH} == "amd64" 113beforedepend ${OBJS}: machine 114CLEANFILES+= machine 115machine: 116 ln -sf ${.CURDIR}/../../../i386/include machine 117.endif 118