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