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