Makefile revision 56994
138494Sobrien# $FreeBSD: head/sys/boot/pc98/loader/Makefile 56994 2000-02-05 02:21:31Z kato $ 238494Sobrien 338494SobrienBASE= loader 438494SobrienPROG= ${BASE} 5174294SobrienMAN5= ../../forth/loader.conf.5 638494SobrienMAN8= ../../i386/loader/loader.8 ../../forth/loader.4th.8 742629Sobrien#NOMAN= 851292SobrienSTRIP= 942629SobrienNEWVERSWHAT= "bootstrap loader" pc98 1042629SobrienBINDIR?= /boot 1151292Sobrien 1251292SobrienCFLAGS+= -DPC98 1338494Sobrien 1438494Sobrien# architecture-specific loader code 1538494SobrienSRCS= main.c conf.c 1638494Sobrien.PATH: ${.CURDIR}/../../i386/loader 1738494Sobrien 1838494Sobrien# Enable PnP and ISA-PnP code. 1938494SobrienHAVE_PNP= yes 2038494SobrienHAVE_ISABUS= yes 2138494Sobrien 2238494Sobrien.if !defined(NOFORTH) 2338494Sobrien# Enable BootForth 2438494SobrienBOOT_FORTH= yes 2538494SobrienCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 2638494Sobrien.if exists(${.OBJDIR}/../../ficl/libficl.a) 2738494SobrienLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 2838494Sobrien.else 2938494SobrienLIBFICL= ${.CURDIR}/../../ficl/libficl.a 3038494Sobrien.endif 3138494Sobrien.endif 3238494Sobrien 3338494Sobrien# Always add MI sources 3438494Sobrien.PATH: ${.CURDIR}/../../common 3538494Sobrien.include <${.CURDIR}/../../common/Makefile.inc> 3638494SobrienCFLAGS+= -I${.CURDIR}/../../common 3738494SobrienCFLAGS+= -I${.CURDIR}/../../.. -I. -I${.CURDIR}/../../i386 3838494Sobrien 3938494SobrienCLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help 4038494Sobrien 4138494SobrienCFLAGS+= -Wall 4238494SobrienLDFLAGS= -nostdlib -static -Ttext 0x0 4338494Sobrien 4438494Sobrien# pc98 standalone support library 4538494SobrienLIBPC98= ${.OBJDIR}/../libpc98/libpc98.a 4638494SobrienCFLAGS+= -I${.CURDIR}/.. 4738494Sobrien 4838494Sobrien# where to get libstand from 4938494SobrienLIBSTAND= -lstand 5038494Sobrien#LIBSTAND= ${.CURDIR}/../../../lib/libstand/libstand.a 5138494Sobrien#CFLAGS+= -I${.CURDIR}/../../../lib/libstand/ 5238494Sobrien 5338494Sobrien# BTX components 54174294Sobrien.if exists(${.OBJDIR}/../btx) 55174294SobrienBTXDIR= ${.OBJDIR}/../btx 56174294Sobrien.else 57174294SobrienBTXDIR= ${.CURDIR}/../btx 5838494Sobrien.endif 5938494SobrienBTXLDR= ${BTXDIR}/btxldr/btxldr 6038494SobrienBTXKERN= ${BTXDIR}/btx/btx 6138494SobrienBTXCRT= ${BTXDIR}/lib/crt0.o 6238494SobrienCFLAGS+= -I${.CURDIR}/../btx/lib 6338494Sobrien 6438494Sobrien# BTX is expecting ELF components 6538494SobrienCFLAGS+= -elf 6638494Sobrien 6738494Sobrien# New linker set code 6838494SobrienCFLAGS+= -DNEW_LINKER_SET 6982794Sobrien 7082794Sobrien# Debug me! 7182794Sobrien#CFLAGS+= -g 7238494Sobrien#LDFLAGS+= -g 7338494Sobrien 7438494Sobrienvers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version 7538494Sobrien sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT} 7638494Sobrien ${CC} -c vers.c 7738494Sobrien 78174294Sobrien${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help 79174294Sobrien btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} \ 8038494Sobrien ${BASE}.bin 8138494Sobrien# /usr/bin/kzip ${.TARGET} 8238494Sobrien# mv ${.TARGET}.kz ${.TARGET} 8338494Sobrien 8438494Sobrien${BASE}.bin: ${BASE}.sym 8538494Sobrien cp ${.ALLSRC} ${.TARGET} 8638494Sobrien strip ${.TARGET} 8738494Sobrien 8838494Sobrien${BASE}.help: help.common help.i386 8938494Sobrien cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 9038494Sobrien 91174294Sobrienbeforeinstall: 92174294Sobrien.if exists(${DESTDIR}/boot/loader) 93119679Smbr mv ${DESTDIR}/boot/loader ${DESTDIR}/boot/loader.old 9438494Sobrien.endif 9538494Sobrien.if exists(${.OBJDIR}/loader.help) 9638494Sobrien ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 9738494Sobrien ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 9838494Sobrien.else 9938494Sobrien ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 100119679Smbr ${.CURDIR}/${BASE}.help ${DESTDIR}/boot 10138494Sobrien.endif 10238494Sobrien.if !exists(${DESTDIR}/boot/loader.rc) 10338494Sobrien ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 10438494Sobrien ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot 10538494Sobrien.endif 10638494Sobrien ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 10738494Sobrien ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot 10842629Sobrien ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 10938494Sobrien ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot 11038494Sobrien ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 11138494Sobrien ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults 11238494Sobrien 11338494Sobrien# Cannot use ${OBJS} above this line 11438494Sobrien.include <bsd.prog.mk> 11538494Sobrien 11638494Sobrien${BASE}.sym: ${OBJS} ${LIBPC98} ${LIBSTAND} ${LIBFICL} vers.o 117 ${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \ 118 ${LIBFICL} ${LIBSTAND} ${LIBPC98} ${LIBSTAND} 119 120# If it's not there, don't consider it a target 121.if exists(${.CURDIR}/../../../i386/include) 122beforedepend ${OBJS}: machine 123 124machine: 125 ln -sf ${.CURDIR}/../../../i386/include machine 126 127.endif 128 129CLEANFILES+= machine 130 131 132