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