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