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