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