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