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