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