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