blob: 00e5efa99586500731cbfee5afa454f92919db06 [file] [log] [blame]
Patrick Georgi499fc922012-03-09 10:53:52 +01001##
2## Integration of nvramtool into the coreboot build system
3##
4## (C) 2005-2008 coresystems GmbH
5## written by Stefan Reinauer <stepan@coresystems.de>
6## (C) 2012 secunet Security Networks AG
7##
Patrick Georgi7333a112020-05-08 20:48:04 +02008## SPDX-License-Identifier: GPL-2.0-only
Patrick Georgi499fc922012-03-09 10:53:52 +01009
10OS_ARCH = $(shell uname)
11NVRAMTOOLFLAGS := -I$(top)/util/nvramtool
Patrick Georgi499fc922012-03-09 10:53:52 +010012ifeq ($(OS_ARCH), NetBSD)
Raymond Danksa2937142012-04-27 08:46:55 -060013NVRAMTOOLLDLFLAGS = -l$(shell uname -p)
14endif
Zheng Baob13e94c2012-09-28 16:02:35 +080015ifeq ($(shell uname -o 2>/dev/null), Cygwin)
Raymond Danksa2937142012-04-27 08:46:55 -060016NVRAMTOOLFLAGS += -O2 -g -Wall -W -D__GLIBC__
Raymond Danksa2937142012-04-27 08:46:55 -060017HOSTCFLAGS =
Patrick Georgi499fc922012-03-09 10:53:52 +010018endif
19
20nvramtoolobj :=
21nvramtoolobj += cli/nvramtool.o cli/opts.o
22nvramtoolobj += cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o
Vikram Narayanana8111cf2012-04-14 15:25:13 +053023nvramtoolobj += hexdump.o input_file.o layout.o accessors/layout-common.o accessors/layout-text.o accessors/layout-bin.o lbtable.o
Patrick Georgi44a89b32012-05-01 12:10:45 +020024nvramtoolobj += reg_expr.o cbfs.o accessors/cmos-mem.o
Patrick Georgi499fc922012-03-09 10:53:52 +010025
Zheng Bao54516722012-10-22 16:41:42 +080026ifeq ($(shell uname -s 2>/dev/null | cut -c-7), MINGW32)
27NVRAMTOOLLDFLAGS += -lregex -lwsock32
28nvramtoolobj += win32mmap.o
29endif
30
Patrick Georgi186c2f92019-12-17 16:59:47 +010031additional-dirs += $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli
Patrick Georgi499fc922012-03-09 10:53:52 +010032
33$(objutil)/nvramtool/%.o: $(top)/util/nvramtool/%.c
34 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
35 $(HOSTCC) $(NVRAMTOOLFLAGS) $(HOSTCFLAGS) -c -o $@ $<
36
37$(objutil)/nvramtool/nvramtool: $(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli $(addprefix $(objutil)/nvramtool/,$(nvramtoolobj))
38 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Raymond Danksa2937142012-04-27 08:46:55 -060039 $(HOSTCC) $(NVRAMTOOLFLAGS) -o $@ $(addprefix $(objutil)/nvramtool/,$(nvramtoolobj)) $(NVRAMTOOLLDFLAGS)