Module Name:    src
Committed By:   jakllsch
Date:           Mon Apr 28 19:09:29 UTC 2014

Added Files:
        src/sys/lib/libgnuefi: Makefile Makefile.inc

Log Message:
Makefile glue to build libgnuefi; similar to libsa or libkern.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/lib/libgnuefi/Makefile \
    src/sys/lib/libgnuefi/Makefile.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/lib/libgnuefi/Makefile
diff -u /dev/null src/sys/lib/libgnuefi/Makefile:1.1
--- /dev/null	Mon Apr 28 19:09:29 2014
+++ src/sys/lib/libgnuefi/Makefile	Mon Apr 28 19:09:29 2014
@@ -0,0 +1,47 @@
+#	$NetBSD: Makefile,v 1.1 2014/04/28 19:09:29 jakllsch Exp $
+
+LIB=	gnuefi
+LIBISPRIVATE?= yes
+
+GNUEFI_USE_CREAD?= no		# Read compressed kernels
+GNUEFI_INCLUDE_NET?= yes		# Netboot via TFTP, NFS
+GNUEFI_USE_LOADFILE?= no		# Generic executable loading support
+GNUEFI_ENABLE_LS_OP?= no		# Filesystems ls operation
+
+CPPFLAGS=	-I${GNUEFIDIR} ${GNUEFICPPFLAGS} ${GNUEFIMISCCPPFLAGS}
+
+.if ${MACHINE_ARCH} == "i386"
+GNUEFIARCH=ia32
+.else
+GNUEFIARCH=${MACHINE_ARCH}
+.endif
+
+.if defined(GNUEFI_EXTRADIR)
+.-include "${GNUEFI_EXTRADIR}/Makefile.inc"
+.endif
+
+.include <bsd.own.mk>
+
+.PATH.c: ${GNUEFIDIR} ${GNUEFIDIR}/../../external/bsd/gnu-efi/dist/lib/${GNUEFIARCH} ${GNUEFIDIR}/../../external/bsd/gnu-efi/dist/lib ${GNUEFIDIR}/../../external/bsd/gnu-efi/dist/lib/runtime
+
+SRCS+=	boxdraw.c smbios.c console.c crc.c data.c debug.c dpath.c \
+	error.c event.c guid.c hand.c hw.c init.c lock.c \
+	misc.c print.c sread.c str.c \
+	rtlock.c efirtlib.c rtstr.c vm.c rtdata.c \
+	initplat.c math.c
+
+COPTS.boxdraw.c= -Wno-missing-field-initializers
+COPTS.guid.c= -Wno-missing-field-initializers
+COPTS.smbios.c= -Wno-int-to-pointer-cast
+COPTS.dpath.c= -Wno-missing-prototypes
+COPTS.print.c= -Wno-missing-prototypes
+COPTS.hw.c= -Wno-shadow
+
+.include <bsd.lib.mk>
+
+lib${LIB}.o:: ${OBJS}
+	@echo building standard ${LIB} library
+	@rm -f lib${LIB}.o
+	@${LD} -r -o lib${LIB}.o `lorder ${OBJS} | tsort`
+
+CPPFLAGS+=	-Wno-pointer-sign
Index: src/sys/lib/libgnuefi/Makefile.inc
diff -u /dev/null src/sys/lib/libgnuefi/Makefile.inc:1.1
--- /dev/null	Mon Apr 28 19:09:29 2014
+++ src/sys/lib/libgnuefi/Makefile.inc	Mon Apr 28 19:09:29 2014
@@ -0,0 +1,87 @@
+#	$NetBSD: Makefile.inc,v 1.1 2014/04/28 19:09:29 jakllsch 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} \
+	    ${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

Reply via email to