Makefile revision 45241
1# $Id: Makefile,v 1.4 1999/03/18 13:42:21 kato Exp $ 2 3BASE= loader 4PROG= ${BASE} 5MAN8= ${.CURDIR}/../../i386/loader/loader.8 6#NOMAN= 7STRIP= 8NEWVERSWHAT= "bootstrap loader" 9BINDIR?= /boot 10 11CFLAGS+= -DPC98 12 13# architecture-specific loader code 14SRCS= main.c conf.c 15.PATH: ${.CURDIR}/../../i386/loader 16 17# Enable PnP and ISA-PnP code. 18HAVE_PNP= yes 19HAVE_ISABUS= yes 20 21# Enable BootForth 22BOOT_FORTH= yes 23CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl 24.if exists(${.OBJDIR}/../../ficl/libficl.a) 25LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 26.else 27LIBFICL= ${.CURDIR}/../../ficl/libficl.a 28.endif 29 30# Always add MI sources 31.PATH: ${.CURDIR}/../../common 32.include <${.CURDIR}/../../common/Makefile.inc> 33CFLAGS+= -I${.CURDIR}/../../common 34CFLAGS+= -I${.CURDIR}/../../.. -I. -I${.CURDIR}/../../i386 35 36CLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help 37 38CFLAGS+= -Wall 39LDFLAGS= -nostdlib -static -Ttext 0x0 40 41# pc98 standalone support library 42LIBPC98= ${.OBJDIR}/../libpc98/libpc98.a 43CFLAGS+= -I${.CURDIR}/.. 44 45# where to get libstand from 46LIBSTAND= -lstand 47#LIBSTAND= ${.CURDIR}/../../../lib/libstand/libstand.a 48#CFLAGS+= -I${.CURDIR}/../../../lib/libstand/ 49 50# BTX components 51.if exists(${.OBJDIR}/../btx) 52BTXDIR= ${.OBJDIR}/../btx 53.else 54BTXDIR= ${.CURDIR}/../btx 55.endif 56BTXLDR= ${BTXDIR}/btxldr/btxldr 57BTXKERN= ${BTXDIR}/btx/btx 58BTXCRT= ${BTXDIR}/lib/crt0.o 59CFLAGS+= -I${.CURDIR}/../btx/lib 60 61# BTX is expecting ELF components 62CFLAGS+= -elf 63 64# New linker set code 65CFLAGS+= -DNEW_LINKER_SET 66 67# Debug me! 68#CFLAGS+= -g 69#LDFLAGS+= -g 70 71vers.o: 72 sh ${.CURDIR}/../../i386/loader/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT} 73 ${CC} -c vers.c 74 75${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help 76 btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} \ 77 ${BASE}.bin 78# /usr/bin/kzip ${.TARGET} 79# mv ${.TARGET}.kz ${.TARGET} 80 81${BASE}.bin: ${BASE}.sym 82 cp ${.ALLSRC} ${.TARGET} 83 strip ${.TARGET} 84 85${BASE}.help: help.common help.i386 86 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 87 88beforeinstall: 89.if exists(${DESTDIR}/boot/loader) 90 mv ${DESTDIR}/boot/loader ${DESTDIR}/boot/loader.old 91.endif 92.if exists(${.OBJDIR}/loader.help) 93 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 94 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 95.else 96 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 97 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot 98.endif 99 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 100 ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot 101 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 102 ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot 103 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 104 ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults 105 106# Cannot use ${OBJS} above this line 107.include <bsd.prog.mk> 108 109${BASE}.sym: ${OBJS} ${LIBPC98} ${LIBSTAND} ${LIBFICL} vers.o 110 ${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \ 111 ${LIBFICL} ${LIBSTAND} ${LIBPC98} ${LIBSTAND} 112 113# If it's not there, don't consider it a target 114.if exists(${.CURDIR}/../../../i386/include) 115beforedepend ${OBJS}: machine 116 117machine: 118 ln -sf ${.CURDIR}/../../../i386/include machine 119 120.endif 121 122CLEANFILES+= machine 123 124 125