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