1 1.1.10.2 tls # $NetBSD: Makefile.inc,v 1.1.10.3 2017/12/03 11:38:46 jdolecek Exp $ 2 1.1.10.2 tls # 3 1.1.10.2 tls # Configuration variables (default values are below): 4 1.1.10.2 tls # 5 1.1.10.2 tls # S must be set to the top of the 'sys' tree. 6 1.1.10.2 tls # GNUEFIDST may be set to the location of the directory where library 7 1.1.10.2 tls # objects are to be built. Defaults to ${.OBJDIR}/lib/gnuefi. 8 1.1.10.2 tls # GNUEFI_AS may be set to 'obj' to build a object from the library's 9 1.1.10.2 tls # object files. (Otherwise, a library will be built.) 10 1.1.10.2 tls # Defaults to 'library'. 11 1.1.10.2 tls # GNUEFIMISCCPPFLAGS 12 1.1.10.2 tls # Miscellaneous cpp flags to be passed to the library's Makefile 13 1.1.10.2 tls # when building. 14 1.1.10.2 tls # GNUEFIMISCMAKEFLAGS 15 1.1.10.2 tls # Miscellaneous flags to be passed to the library's Makefile when 16 1.1.10.2 tls # building. See library's Makefile for more details about 17 1.1.10.2 tls # supported flags and their default values. 18 1.1.10.2 tls 19 1.1.10.2 tls # Default values: 20 1.1.10.2 tls GNUEFIDST?= ${.OBJDIR}/lib/gnuefi 21 1.1.10.2 tls GNUEFI_AS?= library 22 1.1.10.2 tls GNUEFIDOTDIR?= ../../. 23 1.1.10.2 tls 24 1.1.10.2 tls CWARNFLAGS.clang+= -Wno-format-extra-args 25 1.1.10.2 tls 26 1.1.10.2 tls GNUEFIDIR= ${S:S@^.@${GNUEFIDOTDIR}@:Q}/lib/libgnuefi 27 1.1.10.2 tls .if (${GNUEFI_AS} == "obj") 28 1.1.10.2 tls GNUEFILIB= ${GNUEFIDST}/libgnuefi.o 29 1.1.10.2 tls GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi.po 30 1.1.10.2 tls .else 31 1.1.10.2 tls GNUEFILIB= ${GNUEFIDST}/libgnuefi.a 32 1.1.10.2 tls GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi_p.a 33 1.1.10.2 tls .endif 34 1.1.10.2 tls ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib 35 1.1.10.2 tls GNUEFIMISCCPPFLAGS+=-I${ZLIBSRCDIR} 36 1.1.10.2 tls 37 1.1.10.2 tls GNUEFIMAKE= \ 38 1.1.10.2 tls cd ${GNUEFIDST} && ${MAKE} -f ${GNUEFIDIR:Q}/Makefile \ 39 1.1.10.2 tls GNUEFIDIR=${GNUEFIDIR:Q} \ 40 1.1.10.2 tls CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \ 41 1.1.10.2 tls AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 42 1.1.10.2 tls LORDER=${LORDER:Q} \ 43 1.1.10.2 tls TSORT=${TSORT:Q} \ 44 1.1.10.2 tls LD=${LD:Q} STRIP=${STRIP:Q} \ 45 1.1.10.2 tls AR=${AR:Q} NM=${NM:Q} \ 46 1.1.10.2 tls RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \ 47 1.1.10.2 tls MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 48 1.1.10.2 tls GNUEFICPPFLAGS=${CPPFLAGS:S@^-I.@-I${GNUEFIDOTDIR}@g:Q} \ 49 1.1.10.2 tls GNUEFIMISCCPPFLAGS=${GNUEFIMISCCPPFLAGS:Q} \ 50 1.1.10.3 jdolecek LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH:Q} \ 51 1.1.10.2 tls ${GNUEFIMISCMAKEFLAGS} 52 1.1.10.2 tls 53 1.1.10.2 tls ${GNUEFILIB}: .NOTMAIN .MAKE __always_make_gnuefilib 54 1.1.10.2 tls @echo making sure the gnuefi library is up to date... 55 1.1.10.2 tls .if (${GNUEFI_AS} == "library") 56 1.1.10.2 tls @${GNUEFIMAKE} libgnuefi.a 57 1.1.10.2 tls .else 58 1.1.10.2 tls @${GNUEFIMAKE} libgnuefi.o 59 1.1.10.2 tls .endif 60 1.1.10.2 tls 61 1.1.10.2 tls ${GNUEFILIB_PROF}: .NOTMAIN .MAKE __always_make_gnuefilib 62 1.1.10.2 tls @echo making sure the profiled gnuefi library is up to date... 63 1.1.10.2 tls .if (${GNUEFI_AS} == "library") 64 1.1.10.2 tls @${GNUEFIMAKE} libgnuefi_p.a 65 1.1.10.2 tls .else 66 1.1.10.2 tls @${GNUEFIMAKE} libgnuefi.po 67 1.1.10.2 tls .endif 68 1.1.10.2 tls 69 1.1.10.2 tls clean: .NOTMAIN cleangnuefilib 70 1.1.10.2 tls cleangnuefilib: .NOTMAIN 71 1.1.10.2 tls @echo cleaning the gnuefi library objects 72 1.1.10.2 tls @if [ -d "${GNUEFIDST}" ]; then ${GNUEFIMAKE} clean; fi 73 1.1.10.2 tls 74 1.1.10.2 tls cleandir distclean: .NOTMAIN cleandirgnuefilib 75 1.1.10.2 tls cleandirgnuefilib: .NOTMAIN 76 1.1.10.2 tls @echo cleandiring the gnuefi library objects 77 1.1.10.2 tls @if [ -d "${GNUEFIDST}" ]; then ${GNUEFIMAKE} cleandir; fi 78 1.1.10.2 tls 79 1.1.10.2 tls dependall depend: .NOTMAIN dependgnuefilib 80 1.1.10.2 tls dependgnuefilib: .NOTMAIN .MAKE __always_make_gnuefilib 81 1.1.10.2 tls @echo depending the gnuefi library objects 82 1.1.10.2 tls @${GNUEFIMAKE} depend 83 1.1.10.2 tls 84 1.1.10.2 tls __always_make_gnuefilib: .NOTMAIN 85 1.1.10.2 tls @mkdir -p ${GNUEFIDST} 86 1.1.10.2 tls 87 1.1.10.2 tls .PHONY: __always_make_gnuefilib 88 1.1.10.2 tls .PHONY: cleangnuefilib cleandirgnuefilib dependgnuefilib 89