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