Makefile revision 93925
1# $FreeBSD: head/sys/boot/ia64/efi/Makefile 93925 2002-04-06 04:29:36Z 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: ${PROG} 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}.efi: ${BASE}.sym 70 ${OBJCOPY} -j .text \ 71 -j .hash \ 72 -j .data \ 73 -j .sdata \ 74 -j .dynamic \ 75 -j .rela \ 76 -j .reloc \ 77 -j .dynsym \ 78 -j .dynstr \ 79 --target=efi-app-${MACHINE_ARCH} \ 80 ${BASE}.sym ${BASE}.efi 81 82${BASE}.help: help.common help.efi 83 cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ 84 > ${.TARGET} 85 86beforeinstall: 87.if exists(${.OBJDIR}/${BASE}.help) 88 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 89 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot 90.endif 91 92# Other fragments still to be brought in from ../Makfile.booters? 93start.o: ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/start.S 94 ${CC} -c ${CFLAGS} ${.IMPSRC} 95 96machine: 97 ln -sf ${.CURDIR}/../../../${MACHINE_ARCH}/include machine 98 99.include <bsd.prog.mk> 100 101${BASE}.sym: ${OBJS} ${LIBFICL} ${LIBEFI} ${LIBSTAND} ${CRT} vers.o 102 ${LD} ${LDFLAGS} -o ${BASE}.sym -M ${CRT} ${OBJS} vers.o \ 103 ${LIBFICL} ${LIBEFI} ${LIBSTAND} > ${.OBJDIR}/${BASE}.list 104 105beforedepend ${OBJS}: machine 106