NetBSD/sys/lib/libgnuefi/Makefile.inc

89 lines
2.9 KiB
Makefile

# $NetBSD: Makefile.inc,v 1.5 2018/05/27 01:14:50 christos Exp $
#
# Configuration variables (default values are below):
#
# S must be set to the top of the 'sys' tree.
# GNUEFIDST may be set to the location of the directory where library
# objects are to be built. Defaults to ${.OBJDIR}/lib/gnuefi.
# GNUEFI_AS may be set to 'obj' to build a object from the library's
# object files. (Otherwise, a library will be built.)
# Defaults to 'library'.
# GNUEFIMISCCPPFLAGS
# Miscellaneous cpp flags to be passed to the library's Makefile
# when building.
# GNUEFIMISCMAKEFLAGS
# Miscellaneous flags to be passed to the library's Makefile when
# building. See library's Makefile for more details about
# supported flags and their default values.
# Default values:
GNUEFIDST?= ${.OBJDIR}/lib/gnuefi
GNUEFI_AS?= library
GNUEFIDOTDIR?= ../../.
CWARNFLAGS.clang+= -Wno-format-extra-args
GNUEFIDIR= ${S:S@^.@${GNUEFIDOTDIR}@:q}/lib/libgnuefi
.if (${GNUEFI_AS} == "obj")
GNUEFILIB= ${GNUEFIDST}/libgnuefi.o
GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi.po
.else
GNUEFILIB= ${GNUEFIDST}/libgnuefi.a
GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi_p.a
.endif
ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib
GNUEFIMISCCPPFLAGS+=-I${ZLIBSRCDIR}
GNUEFIMAKE= \
cd ${GNUEFIDST} && ${MAKE} -f ${GNUEFIDIR:q}/Makefile \
GNUEFIDIR=${GNUEFIDIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LORDER=${LORDER:q} \
TSORT=${TSORT:q} \
LD=${LD:q} STRIP=${STRIP:q} \
AR=${AR:q} NM=${NM:q} \
RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
GNUEFICPPFLAGS=${CPPFLAGS:S@^-I.@-I${GNUEFIDOTDIR}@g:q} \
GNUEFIMISCCPPFLAGS=${GNUEFIMISCCPPFLAGS:q} \
LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH:q} \
${GNUEFIMISCMAKEFLAGS}
${GNUEFILIB}: .NOTMAIN .MAKE __always_make_gnuefilib
@echo making sure the gnuefi library is up to date...
.if (${GNUEFI_AS} == "library")
@${GNUEFIMAKE} libgnuefi.a
.else
@${GNUEFIMAKE} libgnuefi.o
.endif
${GNUEFILIB_PROF}: .NOTMAIN .MAKE __always_make_gnuefilib
@echo making sure the profiled gnuefi library is up to date...
.if (${GNUEFI_AS} == "library")
@${GNUEFIMAKE} libgnuefi_p.a
.else
@${GNUEFIMAKE} libgnuefi.po
.endif
clean: .NOTMAIN cleangnuefilib
cleangnuefilib: .NOTMAIN
@echo cleaning the gnuefi library objects
@if [ -d "${GNUEFIDST}" ]; then ${GNUEFIMAKE} clean; fi
cleandir distclean: .NOTMAIN cleandirgnuefilib
cleandirgnuefilib: .NOTMAIN
@echo cleandiring the gnuefi library objects
@if [ -d "${GNUEFIDST}" ]; then ${GNUEFIMAKE} cleandir; fi
dependall depend: .NOTMAIN dependgnuefilib
dependgnuefilib: .NOTMAIN .MAKE __always_make_gnuefilib
@echo depending the gnuefi library objects
@${GNUEFIMAKE} depend
__always_make_gnuefilib: .NOTMAIN
@mkdir -p ${GNUEFIDST}
.PHONY: __always_make_gnuefilib
.PHONY: cleangnuefilib cleandirgnuefilib dependgnuefilib