Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/lib/libgnuefi Makefile glue to build libgnuefi; similar ...



details:   https://anonhg.NetBSD.org/src/rev/ba7db930dc23
branches:  trunk
changeset: 795764:ba7db930dc23
user:      jakllsch <jakllsch%NetBSD.org@localhost>
date:      Mon Apr 28 19:09:29 2014 +0000

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

diffstat:

 sys/lib/libgnuefi/Makefile     |  47 ++++++++++++++++++++++
 sys/lib/libgnuefi/Makefile.inc |  87 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 134 insertions(+), 0 deletions(-)

diffs (142 lines):

diff -r 31972886aee1 -r ba7db930dc23 sys/lib/libgnuefi/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/lib/libgnuefi/Makefile        Mon Apr 28 19:09:29 2014 +0000
@@ -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
diff -r 31972886aee1 -r ba7db930dc23 sys/lib/libgnuefi/Makefile.inc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/lib/libgnuefi/Makefile.inc    Mon Apr 28 19:09:29 2014 +0000
@@ -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



Home | Main Index | Thread Index | Old Index