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