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