Makefile revision 329131
1# $FreeBSD: stable/11/sys/boot/i386/loader/Makefile 329131 2018-02-11 19:35:42Z kevans $ 2 3.include <src.opts.mk> 4MK_SSP= no 5 6LOADER?= loader 7PROG= ${LOADER}.sym 8MAN= 9INTERNALPROG= 10NEWVERSWHAT?= "bootstrap loader" x86 11VERSION_FILE= ${.CURDIR}/../loader/version 12LOADER_NET_SUPPORT?= yes 13LOADER_NFS_SUPPORT?= yes 14LOADER_TFTP_SUPPORT?= yes 15 16# architecture-specific loader code 17SRCS= main.c conf.c vers.c chain.c 18 19# Put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf for FireWire/dcons support 20.if defined(LOADER_FIREWIRE_SUPPORT) 21CFLAGS+= -DLOADER_FIREWIRE_SUPPORT 22LIBFIREWIRE= ${.OBJDIR}/../libfirewire/libfirewire.a 23.endif 24 25# Set by zfsloader Makefile 26.if defined(LOADER_ZFS_SUPPORT) 27CFLAGS+= -DLOADER_ZFS_SUPPORT 28LIBZFSBOOT= ${.OBJDIR}/../../zfs/libzfsboot.a 29.endif 30 31.if defined(LOADER_TFTP_SUPPORT) 32CFLAGS+= -DLOADER_TFTP_SUPPORT 33.endif 34.if defined(LOADER_NFS_SUPPORT) 35CFLAGS+= -DLOADER_NFS_SUPPORT 36.endif 37 38# Include bcache code. 39HAVE_BCACHE= yes 40 41# Enable PnP and ISA-PnP code. 42HAVE_PNP= yes 43HAVE_ISABUS= yes 44 45.if ${MK_FORTH} != "no" 46# Enable BootForth 47BOOT_FORTH= yes 48CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 49.if ${MACHINE_CPUARCH} == "amd64" 50LIBFICL= ${.OBJDIR}/../../ficl32/libficl.a 51.else 52LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 53.endif 54.endif 55 56.if defined(LOADER_BZIP2_SUPPORT) 57CFLAGS+= -DLOADER_BZIP2_SUPPORT 58.endif 59.if !defined(LOADER_NO_GZIP_SUPPORT) 60CFLAGS+= -DLOADER_GZIP_SUPPORT 61.endif 62.if defined(LOADER_NANDFS_SUPPORT) 63CFLAGS+= -DLOADER_NANDFS_SUPPORT 64.endif 65.if !defined(LOADER_NO_GELI_SUPPORT) 66CFLAGS+= -DLOADER_GELI_SUPPORT 67CFLAGS+= -I${.CURDIR}/../../geli 68LIBGELIBOOT= ${.OBJDIR}/../../geli/libgeliboot.a 69.PATH: ${.CURDIR}/../../../opencrypto 70SRCS+= xform_aes_xts.c 71CFLAGS+= -I${.CURDIR}/../../.. -D_STAND 72.endif 73 74# Always add MI sources 75.PATH: ${.CURDIR}/../../common 76.include "${.CURDIR}/../../common/Makefile.inc" 77CFLAGS+= -I${.CURDIR}/../../common 78CFLAGS+= -I. 79 80CLEANFILES= ${LOADER} ${LOADER}.bin loader.help 81 82CFLAGS+= -Wall 83LDFLAGS= -static -Ttext 0x0 84 85# i386 standalone support library 86LIBI386= ${.OBJDIR}/../libi386/libi386.a 87CFLAGS+= -I${.CURDIR}/.. 88 89# BTX components 90CFLAGS+= -I${.CURDIR}/../btx/lib 91 92# Debug me! 93#CFLAGS+= -g 94#LDFLAGS+= -g 95 96# Pick up ../Makefile.inc early. 97.include <bsd.init.mk> 98 99${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} 100 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 101 -b ${BTXKERN} ${LOADER}.bin 102 103${LOADER}.bin: ${LOADER}.sym 104 strip -R .comment -R .note -o ${.TARGET} ${.ALLSRC} 105 106loader.help: help.common help.i386 107 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 108 109FILES= ${LOADER} 110# XXX INSTALLFLAGS_loader= -b 111FILESMODE_${LOADER}= ${BINMODE} -b 112 113.if !defined(LOADER_ONLY) 114.PATH: ${.CURDIR}/../../forth 115.include "${.CURDIR}/../../forth/Makefile.inc" 116FILES+= pcibios.4th 117 118FILES+= loader.rc menu.rc 119.endif 120 121# XXX crt0.o needs to be first for pxeboot(8) to work 122OBJS= ${BTXCRT} 123 124DPADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBGELIBOOT} ${LIBSA32} 125LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBGELIBOOT} ${LIBSA32} 126 127.include <bsd.prog.mk> 128 129.if ${MACHINE_CPUARCH} == "amd64" 130beforedepend ${OBJS}: machine 131CLEANFILES+= machine 132CFLAGS+= -DLOADER_PREFER_AMD64 133machine: .NOMETA 134 ln -sf ${.CURDIR}/../../../i386/include machine 135.endif 136