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