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