[BACK]Return to Makefile.efiboot CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / stand / efiboot

Annotation of src/sys/stand/efiboot/Makefile.efiboot, Revision 1.6

1.6     ! jmcneill    1: # $NetBSD: Makefile.efiboot,v 1.5 2018/09/15 17:06:32 jmcneill Exp $
1.1       jmcneill    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
1.3       jmcneill   24: SOURCES+=      boot.c conf.c console.c dev_net.c devopen.c exec.c panic.c prompt.c
1.6     ! jmcneill   25: SOURCES+=      efiboot.c efichar.c efidev.c efienv.c efigetsecs.c efifdt.c efifile.c efiblock.c efinet.c efipxe.c efiacpi.c
1.1       jmcneill   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
                     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:
                     55: COPTS+=        -fpic -g -O2
                     56: COPTS+=        -fshort-wchar -fno-strict-aliasing
                     57: COPTS+=        -ffreestanding -fno-stack-protector
                     58: LDFLAGS+= --defsym=EFI_SUBSYSTEM=0xa
                     59:
                     60:
                     61: COPTS+= ${${ACTIVE_CC} == "gcc":? -Wno-error=unused-but-set-variable :}
                     62: CPPFLAGS+= -nostdinc -D_STANDALONE
                     63: CPPFLAGS+= -DEFIBOOT
1.5       jmcneill   64: CPPFLAGS+= -DPROGRESS_FN=efi_progress
1.1       jmcneill   65:
                     66: CPPFLAGS+= -Wall -Wmissing-prototypes
                     67: CPPFLAGS+= -Wno-pointer-sign
                     68:
                     69: CPPFLAGS+= -DHEAP_VARIABLE
                     70: #CPPFLAGS+= -DSUPPORT_CD9660
                     71: CPPFLAGS+= -D"devb2cdb(bno)=(bno)"
1.3       jmcneill   72: CPPFLAGS+= -DSUPPORT_DOSFS
1.1       jmcneill   73: #CPPFLAGS+= -DSUPPORT_EXT2FS
1.3       jmcneill   74: CPPFLAGS+= -DSUPPORT_BOOTP
                     75: CPPFLAGS+= -DSUPPORT_DHCP
1.1       jmcneill   76: #CPPFLAGS+= -DSUPPORT_NFS
1.3       jmcneill   77: CPPFLAGS+= -DSUPPORT_TFTP
1.2       jmcneill   78: CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
1.1       jmcneill   79:
                     80: #CPPFLAGS+= -DARP_DEBUG
                     81: #CPPFLAGS+= -DBOOTP_DEBUG
                     82: #CPPFLAGS+= -DNET_DEBUG
                     83: #CPPFLAGS+= -DNETIF_DEBUG
                     84: #CPPFLAGS+= -DNFS_DEBUG
                     85: #CPPFLAGS+= -DRARP_DEBUG
                     86: #CPPFLAGS+= -DRPC_DEBUG
                     87:
                     88: SAMISCCPPFLAGS+= -DLIBSA_PRINTF_LONGLONG_SUPPORT
                     89: SAMISCCPPFLAGS+= -DLIBSA_PRINTF_WIDTH_SUPPORT
                     90: SAMISCCPPFLAGS+= -D"cdb2devb(bno)=(bno)"
                     91:
                     92: ### find out what to use for libsa
                     93: SA_AS= library
                     94: SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
                     95: SAMISCMAKEFLAGS+="SA_USE_CREAD=yes"
1.3       jmcneill   96: SAMISCMAKEFLAGS+="SA_INCLUDE_NET=yes"
1.2       jmcneill   97: SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes"
1.1       jmcneill   98: .include "${S}/lib/libsa/Makefile.inc"
                     99: LIBSA= ${SALIB}
                    100:
                    101: ### find out what to use for libkern
                    102: KERN_AS= library
                    103: LIBKERN_ARCH?= ${MACHINE_ARCH}
                    104: KERNMISCMAKEFLAGS+="LIBKERN_ARCH=${LIBKERN_ARCH}"
                    105: .include "${S}/lib/libkern/Makefile.inc"
                    106: LIBKERN= ${KERNLIB}
                    107:
                    108: ### find out what to use for libz
                    109: Z_AS= library
                    110: .include "${S}/lib/libz/Makefile.inc"
                    111: LIBZ= ${ZLIB}
                    112:
                    113: ### find out what to use for libgnuefi
                    114: GNUEFI_AS= library
                    115: LIBGNUEFI_ARCH?= ${MACHINE_ARCH}
                    116: GNUEFIMISCMAKEFLAGS+="LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH}"
                    117: GNUEFIMISCCPPFLAGS+= -I${EFIDIR}/lib
                    118: .include "${S}/lib/libgnuefi/Makefile.inc"
                    119: LIBGNUEFI= ${GNUEFILIB}
                    120:
                    121: cleandir distclean: .WAIT cleanlibdir
                    122:
                    123: cleanlibdir:
                    124:        -rm -rf lib
                    125:
                    126: LIBLIST= ${LIBGNUEFI} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBSA}
                    127:
                    128: VERSIONMACHINE=evbarm
                    129: .include "${S}/conf/newvers_stand.mk"
                    130:
                    131: CLEANFILES+=   ${PROG}.so ${PROG}.tmp
                    132:
                    133: ${PROG}: ${PROG}.so
                    134:        ${OBJCOPY} -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
                    135:            -j .rela -j .rel.* -j .rela.* -j .rel* -j .rela* \
                    136:            -j .reloc -O binary ${PROG}.so ${.TARGET}
                    137:
                    138: .include <bsd.prog.mk>
                    139:
                    140: ${PROG}.so: ${OBJS} ${LIBLIST} ${LDSCRIPT} ${.CURDIR}/../Makefile.efiboot
                    141:        ${LD} ${LDFLAGS} -o ${.TARGET}.tmp ${OBJS} ${LIBLIST}
                    142:        @if ${OBJDUMP} -t ${.TARGET}.tmp | grep 'UND'; then             \
                    143:            (echo Undefined symbols; false);                            \
                    144:        fi
                    145:        rm -f ${.TARGET}
                    146:        mv ${.TARGET}.tmp ${.TARGET}
                    147:
                    148: KLINK_MACHINE?=        ${MACHINE}
                    149: .include <bsd.klinks.mk>

CVSweb <webmaster@jp.NetBSD.org>