10 NEWVERSWHAT= "bootstrap loader" pc98
11 VERSION_FILE= ${.CURDIR}/../../i386/loader/version
13 # architecture-specific loader code
14 SRCS= main.c conf.c vers.c
15 .PATH: ${.CURDIR}/../../i386/loader
17 # Enable PXE TFTP or NFS support, not both.
18 .if defined(LOADER_TFTP_SUPPORT)
19 CFLAGS+= -DLOADER_TFTP_SUPPORT
21 CFLAGS+= -DLOADER_NFS_SUPPORT
24 # Include bcache code.
27 # Enable PnP and ISA-PnP code.
31 .if ${MK_FORTH} != "no"
34 CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
35 LIBFICL= ${.OBJDIR}/../../ficl/libficl.a
38 .if defined(LOADER_BZIP2_SUPPORT)
39 CFLAGS+= -DLOADER_BZIP2_SUPPORT
41 .if !defined(LOADER_NO_GZIP_SUPPORT)
42 CFLAGS+= -DLOADER_GZIP_SUPPORT
45 # Always add MI sources
46 .PATH: ${.CURDIR}/../../common
47 .include "${.CURDIR}/../../common/Makefile.inc"
48 CFLAGS+= -I${.CURDIR}/../../common
49 CFLAGS+= -I${.CURDIR}/../../i386
52 CLEANFILES= ${LOADER} ${LOADER}.bin loader.help
55 LDFLAGS= -static -Ttext 0x0
57 # pc98 standalone support library
58 LIBPC98= ${.OBJDIR}/../libpc98/libpc98.a
59 CFLAGS+= -I${.CURDIR}/..
61 LIBSTAND= ${.OBJDIR}/../../libstand32/libstand.a
64 CFLAGS+= -I${.CURDIR}/../btx/lib
70 # Pick up ../Makefile.inc early.
71 .include <bsd.init.mk>
73 ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
74 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
75 -b ${BTXKERN} ${LOADER}.bin
77 ${LOADER}.bin: ${LOADER}.sym
78 cp ${.ALLSRC} ${.TARGET}
79 strip -R .comment -R .note ${.TARGET}
81 loader.help: help.common help.pc98
82 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
85 # XXX INSTALLFLAGS_loader= -b
86 FILESMODE_${LOADER}= ${BINMODE} -b
88 .PATH: ${.CURDIR}/../../forth
89 .include "${.CURDIR}/../../forth/Makefile.inc"
91 FILES+= ${.CURDIR}/../../i386/loader/loader.rc menu.rc
93 # XXX crt0.o needs to be first for pxeboot(8) to work
96 DPADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND}
97 LDADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND}
99 .include <bsd.prog.mk>