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