Makefile revision 94023
1# $FreeBSD: head/sys/boot/ia64/efi/Makefile 94023 2002-04-07 04:26:42Z peter $ 2 3.PATH: ${.CURDIR}/../common 4 5BASE= loader 6PROG= ${BASE}.efi 7NOMAN= 8NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH} 9BINDIR?= /boot 10 11SRCS+= main.c conf.c dev_net.c 12 13# Enable BootForth 14BOOT_FORTH= yes 15CFLAGS+= -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/${MACHINE_ARCH} 16.if BOOT_FORTH 17CFLAGS+= -DBOOT_FORTH 18.if exists(${.OBJDIR}/../../ficl/libficl.a) 19LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 20.else 21LIBFICL= ${.CURDIR}/../../ficl/libficl.a 22.endif 23.else 24LIBFICL= 25.endif 26 27# where to get libstand from 28.if exists(${.OBJDIR}/../../../../lib/libstand/libstand.a) 29LIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a 30.else 31LIBSTAND= ${.CURDIR}/../../../../lib/libstand/libstand.a 32.endif 33 34.if exists(${.OBJDIR}/../libefi/libefi.a) 35LIBEFI= ${.OBJDIR}/../libefi/libefi.a 36.else 37LIBEFI= ${.CURDIR}/../libefi/libefi.a 38.endif 39 40# Always add MI sources 41.PATH: ${.CURDIR}/../../common 42.include <${.CURDIR}/../../common/Makefile.inc> 43 44CFLAGS+= -I- 45CFLAGS+= -I${.CURDIR}/../include 46CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH} 47CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR} 48CFLAGS+= -I${.CURDIR}/../../.. -I. 49CFLAGS+= -I${.CURDIR}/../libefi 50CFLAGS+= -I${.CURDIR}/../../../../lib/libstand 51CFLAGS+= -DLOADER 52 53LDSCRIPT= ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/ldscript.${MACHINE_ARCH} 54LDFLAGS= -nostdlib -T ${LDSCRIPT} -shared -Bsymbolic 55OBJCOPY?= objcopy 56 57CLEANFILES+= setdef0.c setdef0.o setdef1.c setdef1.o setdefs.h start.o \ 58 vers.c vers.o ${BASE}.efi ${BASE}.sym ${BASE}.list 59CLEANFILES+= loader.help 60CLEANFILES+= machine 61 62CRT= start.o 63 64all: ${BASE} 65 66vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 67 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 68 ${CC} -c vers.c 69 70${BASE}: ${BASE}.efi ${BASE}.help 71 72${BASE}.efi: ${BASE}.sym 73 ${OBJCOPY} -j .text \ 74 -j .hash \ 75 -j .data \ 76 -j .sdata \ 77 -j .dynamic \ 78 -j .rela \ 79 -j .reloc \ 80 -j .dynsym \ 81 -j .dynstr \ 82 --target=efi-app-${MACHINE_ARCH} \ 83 ${BASE}.sym ${BASE}.efi 84 85${BASE}.help: help.common 86 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ 87 > ${.TARGET} 88 89beforeinstall: 90.if exists(${.OBJDIR}/loader.help) 91 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 92 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 93.else 94 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 95 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot 96.endif 97.if !exists(${DESTDIR}/boot/loader.rc) 98 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 99 ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot 100.endif 101 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 102 ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot 103 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 104 ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot 105 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 106 ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults 107 108 109# Other fragments still to be brought in from ../Makfile.booters? 110start.o: ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/start.S 111 ${CC} -c ${CFLAGS} ${.IMPSRC} 112 113machine: 114 ln -sf ${.CURDIR}/../../../${MACHINE_ARCH}/include machine 115 116.include <bsd.prog.mk> 117 118${BASE}.sym: ${OBJS} ${LIBFICL} ${LIBEFI} ${LIBSTAND} ${CRT} vers.o 119 ${LD} ${LDFLAGS} -o ${BASE}.sym -M ${CRT} ${OBJS} vers.o \ 120 ${LIBFICL} ${LIBEFI} ${LIBSTAND} > ${.OBJDIR}/${BASE}.list 121 122beforedepend ${OBJS}: machine 123