Makefile revision 61454
150477Speter# $FreeBSD: head/sys/boot/pc98/loader/Makefile 61064 2000-05-29 11:58:01Z nyan $
243561Skato
343561SkatoBASE=		loader
443561SkatoPROG=		${BASE}
544859Skato#NOMAN=
643561SkatoSTRIP=
748351SpeterNEWVERSWHAT=	"bootstrap loader" pc98
843561SkatoBINDIR?=	/boot
943561Skato
1043561SkatoCFLAGS+=	-DPC98
1143561Skato
1243561Skato# architecture-specific loader code
1359535SnyanSRCS=		main.c conf.c
1461064Snyan.PATH:		${.CURDIR}/../../i386/loader
1543561Skato
1659228Snyan# Enable PXE TFTP or NFS support, not both.
1759228SnyanCFLAGS+=	-DLOADER_NFS_SUPPORT
1859228Snyan#CFLAGS+=	-DLOADER_TFTP_SUPPORT
1959228Snyan
2043561Skato# Enable PnP and ISA-PnP code.
2143561SkatoHAVE_PNP=	yes
2243561SkatoHAVE_ISABUS=	yes
2343561Skato
2456994Skato.if !defined(NOFORTH)
2543561Skato# Enable BootForth
2643561SkatoBOOT_FORTH=	yes
2753688SnyanCFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
2843561Skato.if exists(${.OBJDIR}/../../ficl/libficl.a)
2943561SkatoLIBFICL=	${.OBJDIR}/../../ficl/libficl.a
3043561Skato.else
3143561SkatoLIBFICL=	${.CURDIR}/../../ficl/libficl.a
3243561Skato.endif
3356994Skato.endif
3443561Skato
3543561Skato# Always add MI sources 
3643561Skato.PATH:		${.CURDIR}/../../common
3743561Skato.include	<${.CURDIR}/../../common/Makefile.inc>
3843561SkatoCFLAGS+=	-I${.CURDIR}/../../common
3943561SkatoCFLAGS+=	-I${.CURDIR}/../../.. -I. -I${.CURDIR}/../../i386
4043561Skato
4143561SkatoCLEANFILES+=	vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help
4243561Skato
4343561SkatoCFLAGS+=	-Wall
4444255SkatoLDFLAGS=	-nostdlib -static -Ttext 0x0
4543561Skato
4643561Skato# pc98 standalone support library
4743561SkatoLIBPC98=	${.OBJDIR}/../libpc98/libpc98.a
4843561SkatoCFLAGS+=	-I${.CURDIR}/..
4943561Skato
5043561Skato# where to get libstand from
5143561SkatoLIBSTAND=	-lstand
5259228Snyan#LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
5359228SnyanCFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
5443561Skato
5543561Skato# BTX components
5643561Skato.if exists(${.OBJDIR}/../btx)
5743561SkatoBTXDIR=		${.OBJDIR}/../btx
5843561Skato.else
5943561SkatoBTXDIR=		${.CURDIR}/../btx
6043561Skato.endif
6143561SkatoBTXLDR=		${BTXDIR}/btxldr/btxldr
6243561SkatoBTXKERN=	${BTXDIR}/btx/btx
6343561SkatoBTXCRT=		${BTXDIR}/lib/crt0.o
6443561SkatoCFLAGS+=	-I${.CURDIR}/../btx/lib
6543561Skato
6643561Skato# BTX is expecting ELF components
6743561SkatoCFLAGS+=	-elf
6843561Skato
6943561Skato# New linker set code
7043561SkatoCFLAGS+=	-DNEW_LINKER_SET
7143561Skato
7243561Skato# Debug me!
7343561Skato#CFLAGS+=	-g
7443561Skato#LDFLAGS+=	-g
7543561Skato
7648351Spetervers.o:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version
7748351Speter	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT}
7843561Skato	${CC} -c vers.c
7943561Skato
8043561Skato${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help
8158871Skato	btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
8258871Skato		-b ${BTXKERN} ${BASE}.bin
8343561Skato#	/usr/bin/kzip ${.TARGET}
8443561Skato#	mv ${.TARGET}.kz ${.TARGET}
8543561Skato
8643561Skato${BASE}.bin: ${BASE}.sym
8743561Skato	cp ${.ALLSRC} ${.TARGET}
8843561Skato	strip ${.TARGET}
8943561Skato
9045241Skato${BASE}.help: help.common help.i386
9143561Skato	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
9243561Skato
9343561Skatobeforeinstall:
9443561Skato.if exists(${DESTDIR}/boot/loader)
9543561Skato	mv ${DESTDIR}/boot/loader ${DESTDIR}/boot/loader.old
9643561Skato.endif
9743561Skato.if exists(${.OBJDIR}/loader.help)
9843561Skato	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
9943561Skato		${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
10043561Skato.else
10143561Skato	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
10243561Skato		${.CURDIR}/${BASE}.help ${DESTDIR}/boot
10343561Skato.endif
10453206Snyan.if !exists(${DESTDIR}/boot/loader.rc)
10544630Skato	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
10653206Snyan		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
10753206Snyan.endif
10853206Snyan	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
10944630Skato		${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
11044630Skato	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
11144630Skato		${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
11244630Skato	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
11344630Skato		${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
11443561Skato
11558871Skato.include <${.CURDIR}/../Makefile.inc>
11658871Skato
11743561Skato# Cannot use ${OBJS} above this line
11843561Skato.include <bsd.prog.mk>
11943561Skato
12043561Skato${BASE}.sym: ${OBJS} ${LIBPC98} ${LIBSTAND} ${LIBFICL} vers.o
12143561Skato	${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \
12259535Snyan		${LIBFICL} ${LIBPC98} ${LIBSTAND}
12343561Skato
12443561Skato# If it's not there, don't consider it a target
12543561Skato.if exists(${.CURDIR}/../../../i386/include)
12643561Skatobeforedepend ${OBJS}: machine
12743561Skato
12843561Skatomachine:
12943561Skato	ln -sf ${.CURDIR}/../../../i386/include machine
13043561Skato
13143561Skato.endif
13243561Skato
13343561SkatoCLEANFILES+=	machine
134