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