Makefile revision 42446
1103285Sikob# $Id: Makefile,v 1.24 1999/01/09 02:38:40 msmith Exp $ 2103285Sikob 3103285SikobBASE= loader 4103285SikobPROG= ${BASE} 5103285SikobNOMAN= 6103285SikobSTRIP= 7103285SikobNEWVERSWHAT= "bootstrap loader" 8103285SikobBINDIR?= /boot 9103285Sikob 10103285Sikob# architecture-specific loader code 11103285SikobSRCS= main.c conf.c 12103285Sikob 13103285Sikob# Enable PnP and ISA-PnP code. 14103285SikobHAVE_PNP= yes 15103285SikobHAVE_ISABUS= yes 16103285Sikob 17103285Sikob# Enable BootForth 18103285SikobBOOT_FORTH= yes 19103285SikobCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl 20103285Sikob.if exists(${.OBJDIR}/../../ficl/libficl.a) 21103285SikobLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 22103285Sikob.else 23103285SikobLIBFICL= ${.CURDIR}/../../ficl/libficl.a 24103285Sikob.endif 25103285Sikob 26103285Sikob# Always add MI sources 27103285Sikob.PATH: ${.CURDIR}/../../common 28103285Sikob.include <${.CURDIR}/../../common/Makefile.inc> 29103285SikobCFLAGS+= -I${.CURDIR}/../../common 30103285SikobCFLAGS+= -I${.CURDIR}/../../.. -I. 31103285Sikob 32103285SikobCLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help 33103285Sikob 34103285SikobCFLAGS+= -Wall 35103285SikobLDFLAGS= -nostdlib -static -Ttext 0x1000 36103285Sikob 37103285Sikob# i386 standalone support library 38103285SikobLIBI386= ${.OBJDIR}/../libi386/libi386.a 39103285SikobCFLAGS+= -I${.CURDIR}/.. 40103285Sikob 41103285Sikob# where to get libstand from 42103285SikobLIBSTAND= -lstand 43103285Sikob#LIBSTAND= ${.CURDIR}/../../../lib/libstand/libstand.a 44103285Sikob#CFLAGS+= -I${.CURDIR}/../../../lib/libstand/ 45103285Sikob 46103285Sikob# BTX components 47103285Sikob.if exists(${.OBJDIR}/../btx) 48103285SikobBTXDIR= ${.OBJDIR}/../btx 49103285Sikob.else 50103285SikobBTXDIR= ${.CURDIR}/../btx 51103285Sikob.endif 52103285SikobBTXLDR= ${BTXDIR}/btxldr/btxldr 53103285SikobBTXKERN= ${BTXDIR}/btx/btx 54103285SikobBTXCRT= ${BTXDIR}/lib/crt0.o 55103285SikobCFLAGS+= -I${.CURDIR}/../btx/lib 56103285Sikob 57103285Sikob# BTX is expecting ELF components 58103285SikobCFLAGS+= -elf 59103285Sikob 60103285Sikob# New linker set code 61103285SikobCFLAGS+= -DNEW_LINKER_SET 62103285Sikob 63108276Ssimokawa# Debug me! 64103285Sikob#CFLAGS+= -g 65103285Sikob#LDFLAGS+= -g 66103285Sikob 67103285Sikobvers.o: 68103285Sikob sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 69103285Sikob ${CC} -c vers.c 70103285Sikob 71${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help 72 btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} \ 73 ${BASE}.bin 74 /usr/bin/kzip ${.TARGET} 75 mv ${.TARGET}.kz ${.TARGET} 76 77${BASE}.bin: ${BASE}.sym 78 cp ${.ALLSRC} ${.TARGET} 79 strip ${.TARGET} 80 81${BASE}.help: help.common help.i386 82 perl ${.CURDIR}/../../common/merge_help.pl ${.ALLSRC} > ${.TARGET} 83 84beforeinstall: 85.if exists(${.OBJDIR}/loader.help) 86 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 87 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 88.else 89 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 90 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot 91.endif 92 93# Cannot use ${OBJS} above this line 94.include <bsd.prog.mk> 95 96${BASE}.sym: ${OBJS} ${LIBI386} ${LIBSTAND} ${LIBFICL} vers.o 97 ${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \ 98 ${LIBFICL} ${LIBSTAND} ${LIBI386} ${LIBSTAND} 99 100# If it's not there, don't consider it a target 101.if exists(${.CURDIR}/../../../i386/include) 102beforedepend ${OBJS}: machine 103 104machine: 105 ln -sf ${.CURDIR}/../../../i386/include machine 106 107.endif 108 109CLEANFILES+= machine 110 111 112