Makefile revision 235537
1# $FreeBSD: head/sys/boot/i386/loader/Makefile 235537 2012-05-17 10:11:18Z gber $ 2 3.include <bsd.own.mk> 4MK_SSP= no 5 6LOADER?= loader 7PROG= ${LOADER}.sym 8INTERNALPROG= 9NEWVERSWHAT?= "bootstrap loader" x86 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# Set by zfsloader Makefile 21.if defined(LOADER_ZFS_SUPPORT) 22CFLAGS+= -DLOADER_ZFS_SUPPORT 23LIBZFSBOOT= ${.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.if !defined(LOADER_NO_GPT_SUPPORT) 54CFLAGS+= -DLOADER_GPT_SUPPORT 55.endif 56.if defined(LOADER_NANDFS_SUPPORT) 57CFLAGS+= -DLOADER_NANDFS_SUPPORT 58.endif 59 60# Always add MI sources 61.PATH: ${.CURDIR}/../../common 62.include "${.CURDIR}/../../common/Makefile.inc" 63CFLAGS+= -I${.CURDIR}/../../common 64CFLAGS+= -I. 65 66CLEANFILES= vers.c ${LOADER} ${LOADER}.bin loader.help 67 68CFLAGS+= -Wall 69LDFLAGS= -static -Ttext 0x0 70 71# i386 standalone support library 72LIBI386= ${.OBJDIR}/../libi386/libi386.a 73CFLAGS+= -I${.CURDIR}/.. 74 75# BTX components 76CFLAGS+= -I${.CURDIR}/../btx/lib 77 78# Debug me! 79#CFLAGS+= -g 80#LDFLAGS+= -g 81 82# Pick up ../Makefile.inc early. 83.include <bsd.init.mk> 84 85vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version 86 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \ 87 ${NEWVERSWHAT} 88 89${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} 90 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 91 -b ${BTXKERN} ${LOADER}.bin 92 93${LOADER}.bin: ${LOADER}.sym 94 cp ${.ALLSRC} ${.TARGET} 95 strip -R .comment -R .note ${.TARGET} 96 97loader.help: help.common help.i386 98 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 99 100FILES= ${LOADER} 101# XXX INSTALLFLAGS_loader= -b 102FILESMODE_${LOADER}= ${BINMODE} -b 103 104.if !defined(LOADER_ONLY) 105.PATH: ${.CURDIR}/../../forth 106FILES+= loader.help loader.4th support.4th loader.conf 107FILES+= screen.4th frames.4th beastie.4th 108FILES+= brand.4th check-password.4th color.4th delay.4th 109FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th 110FILESDIR_loader.conf= /boot/defaults 111 112.if !exists(${DESTDIR}/boot/loader.rc) 113FILES+= loader.rc 114.endif 115.if !exists(${DESTDIR}/boot/menu.rc) 116FILES+= menu.rc 117.endif 118.endif 119 120# XXX crt0.o needs to be first for pxeboot(8) to work 121OBJS= ${BTXCRT} 122 123DPADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND} 124LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND} 125 126.include <bsd.prog.mk> 127 128.if ${MACHINE_CPUARCH} == "amd64" 129beforedepend ${OBJS}: machine 130CLEANFILES+= machine 131machine: 132 ln -sf ${.CURDIR}/../../../i386/include machine 133.endif 134