Makefile revision 95450
150477Speter# $FreeBSD: head/sys/boot/pc98/loader/Makefile 95450 2002-04-25 13:31:27Z nyan $ 243561Skato 343561SkatoBASE= loader 443561SkatoPROG= ${BASE} 543561SkatoSTRIP= 648351SpeterNEWVERSWHAT= "bootstrap loader" pc98 743561SkatoBINDIR?= /boot 883368SruINSTALLFLAGS= -b 993416Snyan.if !defined(LOADER_NO_AOUT_SUPPORT) 1093416SnyanLOADER_AOUT_SUPPORT= yes 1193416Snyan.endif 1243561Skato 1343561SkatoCFLAGS+= -DPC98 1443561Skato 1543561Skato# architecture-specific loader code 1659535SnyanSRCS= main.c conf.c 1761064Snyan.PATH: ${.CURDIR}/../../i386/loader 1843561Skato 1959228Snyan# Enable PXE TFTP or NFS support, not both. 2068358Snyan.if defined(LOADER_TFTP_SUPPORT) 2168358SnyanCFLAGS+= -DLOADER_TFTP_SUPPORT 2268358Snyan.else 2359228SnyanCFLAGS+= -DLOADER_NFS_SUPPORT 2468358Snyan.endif 2559228Snyan 2643561Skato# Enable PnP and ISA-PnP code. 2743561SkatoHAVE_PNP= yes 2843561SkatoHAVE_ISABUS= yes 2943561Skato 3056994Skato.if !defined(NOFORTH) 3143561Skato# Enable BootForth 3243561SkatoBOOT_FORTH= yes 3353688SnyanCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 3443561Skato.if exists(${.OBJDIR}/../../ficl/libficl.a) 3543561SkatoLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 3643561Skato.else 3743561SkatoLIBFICL= ${.CURDIR}/../../ficl/libficl.a 3843561Skato.endif 3956994Skato.endif 4043561Skato 4185060Snyan.if defined(LOADER_BZIP2_SUPPORT) 4285060SnyanCFLAGS+= -DLOADER_BZIP2_SUPPORT 4385060Snyan.endif 4485060Snyan.if !defined(LOADER_NO_GZIP_SUPPORT) 4585060SnyanCFLAGS+= -DLOADER_GZIP_SUPPORT 4685060Snyan.endif 4785060Snyan 4843561Skato# Always add MI sources 4943561Skato.PATH: ${.CURDIR}/../../common 5043561Skato.include <${.CURDIR}/../../common/Makefile.inc> 5143561SkatoCFLAGS+= -I${.CURDIR}/../../common 5243561SkatoCFLAGS+= -I${.CURDIR}/../../.. -I. -I${.CURDIR}/../../i386 5343561Skato 5443561SkatoCLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help 5543561Skato 5643561SkatoCFLAGS+= -Wall 5744255SkatoLDFLAGS= -nostdlib -static -Ttext 0x0 5843561Skato 5943561Skato# pc98 standalone support library 6043561SkatoLIBPC98= ${.OBJDIR}/../libpc98/libpc98.a 6143561SkatoCFLAGS+= -I${.CURDIR}/.. 6243561Skato 6343561Skato# where to get libstand from 6465607Skato#XXX need a better way to do this 6565607SkatoLIBSTAND= ${.CURDIR}/../../../../lib/libstand/libstand.a 6665607Skato.if !exists(${LIBSTAND}) 6765607SkatoLIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a 6865607Skato.if !exists(${LIBSTAND}) 6943561SkatoLIBSTAND= -lstand 7065607Skato.endif 7165607Skato.endif 7259228SnyanCFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ 7343561Skato 7443561Skato# BTX components 7543561Skato.if exists(${.OBJDIR}/../btx) 7643561SkatoBTXDIR= ${.OBJDIR}/../btx 7743561Skato.else 7843561SkatoBTXDIR= ${.CURDIR}/../btx 7943561Skato.endif 8043561SkatoBTXLDR= ${BTXDIR}/btxldr/btxldr 8143561SkatoBTXKERN= ${BTXDIR}/btx/btx 8243561SkatoBTXCRT= ${BTXDIR}/lib/crt0.o 8343561SkatoCFLAGS+= -I${.CURDIR}/../btx/lib 8443561Skato 8543561Skato# BTX is expecting ELF components 8643561SkatoCFLAGS+= -elf 8743561Skato 8843561Skato# Debug me! 8943561Skato#CFLAGS+= -g 9043561Skato#LDFLAGS+= -g 9143561Skato 9248351Spetervers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version 9348351Speter sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT} 9443561Skato ${CC} -c vers.c 9543561Skato 9695450Snyan${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} 9758871Skato btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \ 9858871Skato -b ${BTXKERN} ${BASE}.bin 9943561Skato# /usr/bin/kzip ${.TARGET} 10043561Skato# mv ${.TARGET}.kz ${.TARGET} 10143561Skato 10243561Skato${BASE}.bin: ${BASE}.sym 10343561Skato cp ${.ALLSRC} ${.TARGET} 10470082Skato strip -R .comment -R .note ${.TARGET} 10543561Skato 10645241Skato${BASE}.help: help.common help.i386 10743561Skato cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 10843561Skato 10995450Snyan.PATH: ${.CURDIR}/../../forth 11095450SnyanFILES= ${BASE}.help loader.4th support.4th loader.conf 11195450SnyanFILESDIR_loader.conf= /boot/defaults 11295450Snyan 11353206Snyan.if !exists(${DESTDIR}/boot/loader.rc) 11495450SnyanFILES+= loader.rc 11553206Snyan.endif 11643561Skato 11758871Skato.include <${.CURDIR}/../Makefile.inc> 11858871Skato 11943561Skato# Cannot use ${OBJS} above this line 12043561Skato.include <bsd.prog.mk> 12143561Skato 12243561Skato${BASE}.sym: ${OBJS} ${LIBPC98} ${LIBSTAND} ${LIBFICL} vers.o 12343561Skato ${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \ 12459535Snyan ${LIBFICL} ${LIBPC98} ${LIBSTAND} 12543561Skato 12643561Skato# If it's not there, don't consider it a target 12743561Skato.if exists(${.CURDIR}/../../../i386/include) 12843561Skatobeforedepend ${OBJS}: machine 12943561Skato 13043561Skatomachine: 13143561Skato ln -sf ${.CURDIR}/../../../i386/include machine 13243561Skato 13343561Skato.endif 13443561Skato 13543561SkatoCLEANFILES+= machine 136