Makefile revision 85060
150477Speter# $FreeBSD: head/sys/boot/pc98/loader/Makefile 85060 2001-10-17 14:13:36Z nyan $ 243561Skato 343561SkatoBASE= loader 443561SkatoPROG= ${BASE} 543561Skato#NOMAN= 648351SpeterSTRIP= 743561SkatoNEWVERSWHAT= "bootstrap loader" pc98 883368SruBINDIR?= /boot 993416SnyanINSTALLFLAGS= -b 1093416Snyan 1193416SnyanCFLAGS+= -DPC98 1243561Skato 1396342Sobrien# architecture-specific loader code 1443561SkatoSRCS= main.c conf.c 1543561Skato.PATH: ${.CURDIR}/../../i386/loader 1643561Skato 1759535Snyan# Enable PXE TFTP or NFS support, not both. 1861064Snyan.if defined(LOADER_TFTP_SUPPORT) 1943561SkatoCFLAGS+= -DLOADER_TFTP_SUPPORT 2059228Snyan.else 2168358SnyanCFLAGS+= -DLOADER_NFS_SUPPORT 2268358Snyan.endif 2368358Snyan 2459228Snyan# Enable PnP and ISA-PnP code. 2568358SnyanHAVE_PNP= yes 2659228SnyanHAVE_ISABUS= yes 2743561Skato 2843561Skato.if !defined(NOFORTH) 2943561Skato# Enable BootForth 3043561SkatoBOOT_FORTH= yes 3156994SkatoCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 3243561Skato.if exists(${.OBJDIR}/../../ficl/libficl.a) 3343561SkatoLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 3453688Snyan.else 3543561SkatoLIBFICL= ${.CURDIR}/../../ficl/libficl.a 3643561Skato.endif 3743561Skato.endif 3843561Skato 3943561Skato.if defined(LOADER_BZIP2_SUPPORT) 4056994SkatoCFLAGS+= -DLOADER_BZIP2_SUPPORT 4143561Skato.endif 4285060Snyan.if !defined(LOADER_NO_GZIP_SUPPORT) 4385060SnyanCFLAGS+= -DLOADER_GZIP_SUPPORT 4485060Snyan.endif 4585060Snyan 4685060Snyan# Always add MI sources 4785060Snyan.PATH: ${.CURDIR}/../../common 4885060Snyan.include <${.CURDIR}/../../common/Makefile.inc> 4943561SkatoCFLAGS+= -I${.CURDIR}/../../common 5043561SkatoCFLAGS+= -I${.CURDIR}/../../.. -I. -I${.CURDIR}/../../i386 5143561Skato 5243561SkatoCLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help 5343561Skato 5443561SkatoCFLAGS+= -Wall 5543561SkatoLDFLAGS= -nostdlib -static -Ttext 0x0 5643561Skato 5743561Skato# pc98 standalone support library 5844255SkatoLIBPC98= ${.OBJDIR}/../libpc98/libpc98.a 5943561SkatoCFLAGS+= -I${.CURDIR}/.. 6043561Skato 6143561Skato# where to get libstand from 6243561Skato#XXX need a better way to do this 6343561SkatoLIBSTAND= ${.CURDIR}/../../../../lib/libstand/libstand.a 6443561Skato.if !exists(${LIBSTAND}) 6565607SkatoLIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a 6665607Skato.if !exists(${LIBSTAND}) 6765607SkatoLIBSTAND= -lstand 6865607Skato.endif 6965607Skato.endif 7043561SkatoCFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ 7165607Skato 7265607Skato# BTX components 7359228Snyan.if exists(${.OBJDIR}/../btx) 7443561SkatoBTXDIR= ${.OBJDIR}/../btx 7543561Skato.else 7643561SkatoBTXDIR= ${.CURDIR}/../btx 7743561Skato.endif 7843561SkatoBTXLDR= ${BTXDIR}/btxldr/btxldr 7943561SkatoBTXKERN= ${BTXDIR}/btx/btx 8043561SkatoBTXCRT= ${BTXDIR}/lib/crt0.o 8143561SkatoCFLAGS+= -I${.CURDIR}/../btx/lib 8243561Skato 8343561Skato# BTX is expecting ELF components 8443561SkatoCFLAGS+= -elf 8543561Skato 8643561Skato# Debug me! 8743561Skato#CFLAGS+= -g 8843561Skato#LDFLAGS+= -g 8943561Skato 9043561Skatovers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version 9143561Skato sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT} 9243561Skato ${CC} -c vers.c 9348351Speter 9448351Speter${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help 9543561Skato btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 9643561Skato -b ${BTXKERN} ${BASE}.bin 9795450Snyan# /usr/bin/kzip ${.TARGET} 9858871Skato# mv ${.TARGET}.kz ${.TARGET} 9958871Skato 10043561Skato${BASE}.bin: ${BASE}.sym 10143561Skato cp ${.ALLSRC} ${.TARGET} 10243561Skato strip -R .comment -R .note ${.TARGET} 10343561Skato 10443561Skato${BASE}.help: help.common help.i386 10570082Skato cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 10643561Skato 10745241Skatobeforeinstall: 10843561Skato.if exists(${.OBJDIR}/loader.help) 10943561Skato ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 11095450Snyan ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 11195450Snyan.else 11295450Snyan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 11395450Snyan ${.CURDIR}/${BASE}.help ${DESTDIR}/boot 11453206Snyan.endif 11595450Snyan.if !exists(${DESTDIR}/boot/loader.rc) 11653206Snyan ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 11743561Skato ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot 11858871Skato.endif 11958871Skato ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 12043561Skato ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot 12143561Skato ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 12243561Skato ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot 12343561Skato ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 12443561Skato ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults 12559535Snyan 12643561Skato.include <${.CURDIR}/../Makefile.inc> 12743561Skato 12843561Skato# Cannot use ${OBJS} above this line 12943561Skato.include <bsd.prog.mk> 13043561Skato 13143561Skato${BASE}.sym: ${OBJS} ${LIBPC98} ${LIBSTAND} ${LIBFICL} vers.o 13243561Skato ${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \ 13343561Skato ${LIBFICL} ${LIBPC98} ${LIBSTAND} 13443561Skato 13543561Skato# If it's not there, don't consider it a target 13643561Skato.if exists(${.CURDIR}/../../../i386/include) 137beforedepend ${OBJS}: machine 138 139machine: 140 ln -sf ${.CURDIR}/../../../i386/include machine 141 142.endif 143 144CLEANFILES+= machine 145