Makefile revision 98014
1# $FreeBSD: head/sys/boot/powerpc/ofw/Makefile 98014 2002-06-07 11:49:56Z benno $ 2 3BASE= loader 4PROG= ${BASE} 5NOMAN= 6STRIP= 7NEWVERSWHAT= "bootstrap loader" OpenFirmware/PowerPC 8BINDIR?= /boot 9INSTALLFLAGS= -b 10 11LOADER_DISK_SUPPORT?= yes 12LOADER_NET_SUPPORT?= yes 13 14CFLAGS+= -ffreestanding 15# load address 16RELOC?= 0x6c0000 17CFLAGS+= -DRELOC=${RELOC} 18 19# architecture-specific loader code 20SRCS= conf.c 21 22# Pull in common loader code 23.PATH: ${.CURDIR}/../../ofw/common 24.include <${.CURDIR}/../../ofw/common/Makefile.inc> 25 26.if defined(LOADER_DISK_SUPPORT) 27CFLAGS+= -DLOADER_DISK_SUPPORT 28.endif 29.if defined(LOADER_NET_SUPPORT) 30CFLAGS+= -DLOADER_NET_SUPPORT 31.endif 32 33.if !defined(NOFORTH) 34# Enable BootForth 35BOOT_FORTH= yes 36CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc 37.if exists(${.OBJDIR}/../../ficl/libficl.a) 38LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 39.else 40LIBFICL= ${.CURDIR}/../../ficl/libficl.a 41.endif 42.endif 43 44# Always add MI sources 45.PATH: ${.CURDIR}/../../common 46.include <${.CURDIR}/../../common/Makefile.inc> 47CFLAGS+= -I${.CURDIR}/../../common 48CFLAGS+= -I${.CURDIR}/../../.. -I. 49 50CLEANFILES+= vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help 51 52LDFLAGS= -nostdlib -static -Ttext ${RELOC} 53 54# OpenFirmware standalone support library 55LIBOFW= ${.OBJDIR}/../../ofw/libofw/libofw.a 56CFLAGS+= -I${.CURDIR}/../../ofw/libofw 57 58# where to get libstand from 59#XXX need a better way to do this 60LIBSTAND= ${.CURDIR}/../../../../lib/libstand/libstand.a 61.if !exists(${LIBSTAND}) 62LIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a 63.if !exists(${LIBSTAND}) 64LIBSTAND= -lstand 65.endif 66.endif 67CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ 68 69# OpenFirmware is expecting ELF components 70CFLAGS+= -elf 71 72# Debug me! 73CFLAGS+= -g 74LDFLAGS+= -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 80${BASE}.help: help.common help.ofw 81 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 82 83beforeinstall: 84.if exists(${.OBJDIR}/loader.help) 85 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 86 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 87.else 88 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 89 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot 90.endif 91.if !exists(${DESTDIR}/boot/loader.rc) 92 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 93 ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot 94.endif 95 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 96 ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot 97 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 98 ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot 99 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 100 ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults 101 102${PROG}: ${OBJS} ${LIBOFW} ${LIBSTAND} ${LIBFICL} start.o vers.o 103 ${LD} ${LDFLAGS} -o ${.TARGET} start.o ${OBJS} \ 104 vers.o ${LIBFICL} ${LIBOFW} ${LIBSTAND} 105 106machine: 107 ln -sf ${.CURDIR}/../../../powerpc/include machine 108 109# Cannot use ${OBJS} above this line 110.include <bsd.prog.mk> 111 112beforedepend ${OBJS}: machine 113 114CLEANFILES+= machine setdefs.h setdef0.c setdef1.c setdef0.o setdef1.o \ 115 start.o 116