Annotation of src/sys/stand/efiboot/Makefile.efiboot, Revision 1.7.2.2
1.7.2.2 ! christos 1: # $NetBSD: Makefile.efiboot,v 1.7 2019/04/21 22:30:41 thorpej Exp $
! 2:
! 3: S= ${.CURDIR}/../../..
! 4:
! 5: NOMAN= # defined
! 6: NOPIE= # defined
! 7: NOLIBCSANITIZER=# defined
! 8: NOSANITIZER= # defined
! 9: NORELRO= # defined
! 10: PROG?= boot.efi
! 11: NEWVERSWHAT?= "EFI Boot"
! 12:
! 13: EFIDIR= ${S}/external/bsd/gnu-efi/dist
! 14: GNUEFIARCH?= ${MACHINE_CPU}
! 15: CPPFLAGS+= -I${EFIDIR}/inc -I${EFIDIR}/inc/${GNUEFIARCH}
! 16: CPPFLAGS+= -I${EFIDIR}/inc/protocol
! 17:
! 18: LDSCRIPT?= ${EFIDIR}/gnuefi/elf_${GNUEFIARCH}_efi.lds
! 19:
! 20: AFLAGS.start.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
! 21:
! 22: .PATH: ${EFIDIR}/gnuefi
! 23: SOURCES= crt0-efi-${GNUEFIARCH}.S reloc_${GNUEFIARCH}.c
! 24: SOURCES+= boot.c conf.c console.c dev_net.c devopen.c exec.c panic.c prompt.c
! 25: SOURCES+= efiboot.c efichar.c efidev.c efienv.c efigetsecs.c efifdt.c efifile.c efiblock.c efinet.c efipxe.c efiacpi.c
! 26:
! 27: .PATH: ${S}/external/bsd/libfdt/dist
! 28: CPPFLAGS+= -I${S}/external/bsd/libfdt/dist
! 29: SOURCES+= fdt.c fdt_addresses.c fdt_empty_tree.c fdt_overlay.c
! 30: SOURCES+= fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c fdt_wip.c
! 31:
! 32: SRCS= ${SOURCES} ${EXTRA_SOURCES}
! 33:
! 34: .include <bsd.init.mk>
! 35:
! 36: STRIPFLAG= # nothing
! 37:
! 38: LIBCRT0= # nothing
! 39: LIBCRTI= # nothing
! 40: LIBCRTBEGIN= # nothing
! 41: LIBCRTEND= # nothing
! 42: LIBC= # nothing
! 43:
! 44: BINDIR=/usr/mdec
! 45: BINMODE=444
! 46:
! 47: .PATH: ${.CURDIR} ${.CURDIR}/..
! 48: .PATH: ${.CURDIR}/../../lib
! 49:
! 50: LDFLAGS+= -nostdlib -T${LDSCRIPT} -Bsymbolic -shared
! 51: CPPFLAGS+= -I$S -I${.CURDIR} -I${.CURDIR}/../common -I$S/lib/libsa
! 52: CPPFLAGS+= -I${.OBJDIR}
! 53: CPPFLAGS+= -I${.CURDIR}/../../lib
! 54: CPPFLAGS+= -I${S}/../common/include
! 55:
! 56: COPTS+= -fpic -g -O2
! 57: COPTS+= -fshort-wchar -fno-strict-aliasing
! 58: COPTS+= -ffreestanding -fno-stack-protector
! 59: LDFLAGS+= --defsym=EFI_SUBSYSTEM=0xa
! 60:
! 61:
! 62: COPTS+= ${${ACTIVE_CC} == "gcc":? -Wno-error=unused-but-set-variable :}
! 63: CPPFLAGS+= -nostdinc -D_STANDALONE
! 64: CPPFLAGS+= -DEFIBOOT
! 65: CPPFLAGS+= -DPROGRESS_FN=efi_progress
! 66:
! 67: CPPFLAGS+= -Wall -Wmissing-prototypes
! 68: CPPFLAGS+= -Wno-pointer-sign
! 69:
! 70: CPPFLAGS+= -DHEAP_VARIABLE
! 71: #CPPFLAGS+= -DSUPPORT_CD9660
! 72: CPPFLAGS+= -D"devb2cdb(bno)=(bno)"
! 73: CPPFLAGS+= -DSUPPORT_DOSFS
! 74: #CPPFLAGS+= -DSUPPORT_EXT2FS
! 75: CPPFLAGS+= -DSUPPORT_BOOTP
! 76: CPPFLAGS+= -DSUPPORT_DHCP
! 77: #CPPFLAGS+= -DSUPPORT_NFS
! 78: CPPFLAGS+= -DSUPPORT_TFTP
! 79: CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
! 80:
! 81: #CPPFLAGS+= -DEFIBOOT_DEBUG
! 82: #CPPFLAGS+= -DARP_DEBUG
! 83: #CPPFLAGS+= -DBOOTP_DEBUG
! 84: #CPPFLAGS+= -DNET_DEBUG
! 85: #CPPFLAGS+= -DNETIF_DEBUG
! 86: #CPPFLAGS+= -DNFS_DEBUG
! 87: #CPPFLAGS+= -DRARP_DEBUG
! 88: #CPPFLAGS+= -DRPC_DEBUG
! 89:
! 90: SAMISCCPPFLAGS+= -DLIBSA_PRINTF_LONGLONG_SUPPORT
! 91: SAMISCCPPFLAGS+= -DLIBSA_PRINTF_WIDTH_SUPPORT
! 92: SAMISCCPPFLAGS+= -D"cdb2devb(bno)=(bno)"
! 93:
! 94: ### find out what to use for libsa
! 95: SA_AS= library
! 96: SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
! 97: SAMISCMAKEFLAGS+="SA_USE_CREAD=yes"
! 98: SAMISCMAKEFLAGS+="SA_INCLUDE_NET=yes"
! 99: SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes"
! 100: .include "${S}/lib/libsa/Makefile.inc"
! 101: LIBSA= ${SALIB}
! 102:
! 103: ### find out what to use for libkern
! 104: KERN_AS= library
! 105: LIBKERN_ARCH?= ${MACHINE_ARCH}
! 106: KERNMISCMAKEFLAGS+="LIBKERN_ARCH=${LIBKERN_ARCH}"
! 107: .include "${S}/lib/libkern/Makefile.inc"
! 108: LIBKERN= ${KERNLIB}
! 109:
! 110: ### find out what to use for libz
! 111: Z_AS= library
! 112: .include "${S}/lib/libz/Makefile.inc"
! 113: LIBZ= ${ZLIB}
! 114:
! 115: ### find out what to use for libgnuefi
! 116: GNUEFI_AS= library
! 117: LIBGNUEFI_ARCH?= ${MACHINE_ARCH}
! 118: GNUEFIMISCMAKEFLAGS+="LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH}"
! 119: GNUEFIMISCCPPFLAGS+= -I${EFIDIR}/lib
! 120: .include "${S}/lib/libgnuefi/Makefile.inc"
! 121: LIBGNUEFI= ${GNUEFILIB}
! 122:
! 123: cleandir distclean: .WAIT cleanlibdir
! 124:
! 125: cleanlibdir:
! 126: -rm -rf lib
! 127:
! 128: LIBLIST= ${LIBGNUEFI} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBSA}
! 129:
! 130: VERSIONMACHINE=evbarm
! 131: .include "${S}/conf/newvers_stand.mk"
! 132:
! 133: CLEANFILES+= ${PROG}.so ${PROG}.tmp
! 134:
! 135: ${PROG}: ${PROG}.so
! 136: ${OBJCOPY} -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
! 137: -j .rela -j .rel.* -j .rela.* -j .rel* -j .rela* \
! 138: -j .reloc -O binary ${PROG}.so ${.TARGET}
! 139:
! 140: .include <bsd.prog.mk>
! 141:
! 142: ${PROG}.so: ${OBJS} ${LIBLIST} ${LDSCRIPT} ${.CURDIR}/../Makefile.efiboot
! 143: ${LD} ${LDFLAGS} -o ${.TARGET}.tmp ${OBJS} ${LIBLIST}
! 144: @if ${OBJDUMP} -t ${.TARGET}.tmp | grep 'UND'; then \
! 145: (echo Undefined symbols; false); \
! 146: fi
! 147: rm -f ${.TARGET}
! 148: mv ${.TARGET}.tmp ${.TARGET}
! 149:
! 150: KLINK_MACHINE?= ${MACHINE}
! 151: .include <bsd.klinks.mk>
CVSweb <webmaster@jp.NetBSD.org>