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