From 499fc926f8c877ab049f936fb9da7234e123edfb Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Fri, 9 Mar 2012 10:53:52 +0100 Subject: [PATCH] Add nvramtool to coreboot build system This way we can depend on it during build. Change-Id: I7e773c6a029e376e3d70d0a8c9e96ffe0c2cf82e Signed-off-by: Patrick Georgi Reviewed-on: http://review.coreboot.org/845 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- Makefile.inc | 2 +- util/nvramtool/Makefile.inc | 48 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 util/nvramtool/Makefile.inc diff --git a/Makefile.inc b/Makefile.inc index 857ad1642b..470077e4fd 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -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 index 0000000000..25d447d93c --- /dev/null +++ b/util/nvramtool/Makefile.inc @@ -0,0 +1,48 @@ +## +## Integration of nvramtool into the coreboot build system +## +## (C) 2005-2008 coresystems GmbH +## written by Stefan Reinauer +## (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)) + +