Add nvramtool to coreboot build system
authorPatrick Georgi <Patrick.Georgi@secunet.com>
Fri, 9 Mar 2012 09:53:52 +0000 (10:53 +0100)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Tue, 3 Apr 2012 16:32:23 +0000 (18:32 +0200)
This way we can depend on it during build.

Change-Id: I7e773c6a029e376e3d70d0a8c9e96ffe0c2cf82e
Signed-off-by: Patrick Georgi <Patrick.Georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/845
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Makefile.inc
util/nvramtool/Makefile.inc [new file with mode: 0644]

index 857ad1642b90759a6b41ac78619cbdf6712aa278..470077e4fd3777abaa4a2b04181ac27437fe5cbe 100644 (file)
@@ -40,7 +40,7 @@ PHONY+= clean-abuild coreboot lint lint-stable
 # root source directories of coreboot
 subdirs-y := src/lib src/boot src/console src/devices src/ec src/southbridge
 subdirs-y += src/northbridge src/superio src/drivers src/cpu src/vendorcode
-subdirs-y += util/cbfstool util/sconfig
+subdirs-y += util/cbfstool util/sconfig util/nvramtool
 subdirs-y += src/arch/$(ARCHDIR-y)
 subdirs-y += src/mainboard/$(MAINBOARDDIR)
 subdirs-y += src/vendorcode
diff --git a/util/nvramtool/Makefile.inc b/util/nvramtool/Makefile.inc
new file mode 100644 (file)
index 0000000..25d447d
--- /dev/null
@@ -0,0 +1,48 @@
+##
+## Integration of nvramtool into the coreboot build system
+##
+## (C) 2005-2008 coresystems GmbH
+## written by Stefan Reinauer <stepan@coresystems.de>
+## (C) 2012 secunet Security Networks AG
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+OS_ARCH        = $(shell uname)
+NVRAMTOOLFLAGS := -I$(top)/util/nvramtool
+ifeq ($(OS_ARCH), Darwin)
+NVRAMTOOLFLAGS += -framework DirectHW
+endif
+ifeq ($(OS_ARCH), NetBSD)
+NVRAMTOOLFLAGS += -l$(shell uname -p)
+endif
+
+nvramtoolobj :=
+nvramtoolobj += cli/nvramtool.o cli/opts.o
+nvramtoolobj += cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o
+nvramtoolobj += hexdump.o input_file.o layout.o accessors/layout-text.o accessors/layout-bin.o lbtable.o
+nvramtoolobj += reg_expr.o cbfs.o accessors/cmos-hw-unix.o accessors/cmos-mem.o
+
+$(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli:
+       mkdir -p $@
+
+$(objutil)/nvramtool/%.o: $(top)/util/nvramtool/%.c
+       printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
+       $(HOSTCC) $(NVRAMTOOLFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/nvramtool/nvramtool: $(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli $(addprefix $(objutil)/nvramtool/,$(nvramtoolobj))
+       printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
+       $(HOSTCC) $(NVRAMTOOLFLAGS) -o $@ $(addprefix $(objutil)/nvramtool/,$(nvramtoolobj))
+
+