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