summaryrefslogtreecommitdiff
path: root/util/nvramtool/Makefile.mk
diff options
context:
space:
mode:
Diffstat (limited to 'util/nvramtool/Makefile.mk')
-rw-r--r--util/nvramtool/Makefile.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/util/nvramtool/Makefile.mk b/util/nvramtool/Makefile.mk
new file mode 100644
index 0000000000..00e5efa995
--- /dev/null
+++ b/util/nvramtool/Makefile.mk
@@ -0,0 +1,39 @@
+##
+## 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
+##
+## SPDX-License-Identifier: GPL-2.0-only
+
+OS_ARCH = $(shell uname)
+NVRAMTOOLFLAGS := -I$(top)/util/nvramtool
+ifeq ($(OS_ARCH), NetBSD)
+NVRAMTOOLLDLFLAGS = -l$(shell uname -p)
+endif
+ifeq ($(shell uname -o 2>/dev/null), Cygwin)
+NVRAMTOOLFLAGS += -O2 -g -Wall -W -D__GLIBC__
+HOSTCFLAGS =
+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-common.o accessors/layout-text.o accessors/layout-bin.o lbtable.o
+nvramtoolobj += reg_expr.o cbfs.o accessors/cmos-mem.o
+
+ifeq ($(shell uname -s 2>/dev/null | cut -c-7), MINGW32)
+NVRAMTOOLLDFLAGS += -lregex -lwsock32
+nvramtoolobj += win32mmap.o
+endif
+
+additional-dirs += $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli
+
+$(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)) $(NVRAMTOOLLDFLAGS)