1# $FreeBSD$ 2 3.include <src.opts.mk> 4MK_SSP= no 5MAN= 6 7LOADER?= loader 8PROG= ${LOADER}.sym 9INTERNALPROG= 10NEWVERSWHAT= "bootstrap loader" pc98 11 12# architecture-specific loader code 13SRCS= main.c conf.c vers.c 14.PATH: ${.CURDIR}/../../i386/loader 15 16# Enable PXE TFTP or NFS support, not both. 17.if defined(LOADER_TFTP_SUPPORT) 18CFLAGS+= -DLOADER_TFTP_SUPPORT 19.else 20CFLAGS+= -DLOADER_NFS_SUPPORT 21.endif 22 23# Include bcache code. 24HAVE_BCACHE= yes 25 26# Enable PnP and ISA-PnP code. 27HAVE_PNP= yes 28HAVE_ISABUS= yes 29 30.if ${MK_FORTH} != "no" 31# Enable BootForth 32BOOT_FORTH= yes 33CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 34LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 35.endif 36 37.if defined(LOADER_BZIP2_SUPPORT) 38CFLAGS+= -DLOADER_BZIP2_SUPPORT 39.endif 40.if !defined(LOADER_NO_GZIP_SUPPORT) 41CFLAGS+= -DLOADER_GZIP_SUPPORT 42.endif 43 44# Always add MI sources 45.PATH: ${.CURDIR}/../../common 46.include "${.CURDIR}/../../common/Makefile.inc" 47CFLAGS+= -I${.CURDIR}/../../common 48CFLAGS+= -I${.CURDIR}/../../i386 49CFLAGS+= -I. 50 51CLEANFILES= vers.c ${LOADER} ${LOADER}.bin loader.help 52 53CFLAGS+= -Wall 54LDFLAGS= -static -Ttext 0x0 55 56# pc98 standalone support library 57LIBPC98= ${.OBJDIR}/../libpc98/libpc98.a 58CFLAGS+= -I${.CURDIR}/.. 59 60LIBSTAND= ${.OBJDIR}/../../libstand32/libstand.a 61 62# BTX components 63CFLAGS+= -I${.CURDIR}/../btx/lib 64 65# Debug me! 66#CFLAGS+= -g 67#LDFLAGS+= -g 68 69# Pick up ../Makefile.inc early. 70.include <bsd.init.mk> 71 72vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version 73 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT} 74 75${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} 76 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 77 -b ${BTXKERN} ${LOADER}.bin 78 79${LOADER}.bin: ${LOADER}.sym 80 cp ${.ALLSRC} ${.TARGET} 81 strip -R .comment -R .note ${.TARGET} 82 83loader.help: help.common help.pc98 84 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 85 86FILES= ${LOADER} 87# XXX INSTALLFLAGS_loader= -b 88FILESMODE_${LOADER}= ${BINMODE} -b 89 90.PATH: ${.CURDIR}/../../forth 91.include "${.CURDIR}/../../forth/Makefile.inc" 92 93FILES+= ${.CURDIR}/../../i386/loader/loader.rc menu.rc 94 95# XXX crt0.o needs to be first for pxeboot(8) to work 96OBJS= ${BTXCRT} 97 98DPADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND} 99LDADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND} 100 101.include <bsd.prog.mk> 102