1# $FreeBSD$ 2 3HAVE_ZFS= ${MK_ZFS} 4 5LOADER_NET_SUPPORT?= yes 6LOADER_NFS_SUPPORT?= yes 7LOADER_TFTP_SUPPORT?= yes 8LOADER_CD9660_SUPPORT?= yes 9LOADER_EXT2FS_SUPPORT?= yes 10LOADER_MSDOS_SUPPORT?= yes 11LOADER_UFS_SUPPORT?= yes 12LOADER_GZIP_SUPPORT?= yes 13LOADER_BZIP2_SUPPORT?= yes 14 15.include <bsd.init.mk> 16 17LOADER?= loader 18PROG= ${LOADER}.sym 19INTERNALPROG= 20NEWVERSWHAT?= "bootstrap loader" x86 21VERSION_FILE= ${.CURDIR}/../loader/version 22 23.PATH: ${BOOTSRC}/i386/loader 24 25# architecture-specific loader code 26SRCS= main.c conf.c vers.c chain.c 27 28# Include bcache code. 29HAVE_BCACHE= yes 30 31# Enable PnP and ISA-PnP code. 32HAVE_PNP= yes 33HAVE_ISABUS= yes 34 35.if ${MK_LOADER_FIREWIRE} == "yes" 36CFLAGS+= -DLOADER_FIREWIRE_SUPPORT 37LIBFIREWIRE= ${BOOTOBJ}/i386/libfirewire/libfirewire.a 38.endif 39 40.if exists(${.CURDIR}/help.i386) 41HELP_FILES= ${.CURDIR}/help.i386 42.endif 43 44# Always add MI sources 45.include "${BOOTSRC}/loader.mk" 46 47CLEANFILES+= ${LOADER} ${LOADER}.bin 48 49CFLAGS+= -Wall 50LDFLAGS+= -static -Ttext 0x0 51 52# i386 standalone support library 53LIBI386= ${BOOTOBJ}/i386/libi386/libi386.a 54CFLAGS+= -I${BOOTSRC}/i386 55 56# Debug me! 57#CFLAGS+= -g 58#LDFLAGS+= -g 59 60${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} 61 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 62 -b ${BTXKERN} ${LOADER}.bin 63 64${LOADER}.bin: ${LOADER}.sym 65 strip -R .comment -R .note -o ${.TARGET} ${.ALLSRC} 66 67.if ${MK_ZFS} == "yes" 68LINKS= ${BINDIR}/${LOADER} ${BINDIR}/zfs${LOADER} 69.endif 70FILES+= ${LOADER} 71# XXX INSTALLFLAGS_loader= -b 72FILESMODE_${LOADER}= ${BINMODE} -b 73 74# XXX crt0.o needs to be first for pxeboot(8) to work 75OBJS= ${BTXCRT} 76 77DPADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32} 78LDADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32} 79 80.if ${MACHINE_CPUARCH} == "amd64" 81CFLAGS+= -DLOADER_PREFER_AMD64 82.endif 83 84.include <bsd.prog.mk> 85