blob: dc33370ae8b411403359cd82f8b8a3e381456141 [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##
8## This program is free software; you can redistribute it and/or modify
9## it under the terms of the GNU General Public License as published by
10## the Free Software Foundation; version 2 of the License.
11##
12## This program is distributed in the hope that it will be useful,
13## but WITHOUT ANY WARRANTY; without even the implied warranty of
14## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15## GNU General Public License for more details.
16##
17## You should have received a copy of the GNU General Public License
18## along with this program; if not, write to the Free Software
Paul Menzela46a7122013-02-23 18:37:27 +010019## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Patrick Georgi499fc922012-03-09 10:53:52 +010020##
21
22OS_ARCH = $(shell uname)
23NVRAMTOOLFLAGS := -I$(top)/util/nvramtool
Patrick Georgi499fc922012-03-09 10:53:52 +010024ifeq ($(OS_ARCH), NetBSD)
Raymond Danksa2937142012-04-27 08:46:55 -060025NVRAMTOOLLDLFLAGS = -l$(shell uname -p)
26endif
Zheng Baob13e94c2012-09-28 16:02:35 +080027ifeq ($(shell uname -o 2>/dev/null), Cygwin)
Raymond Danksa2937142012-04-27 08:46:55 -060028NVRAMTOOLFLAGS += -O2 -g -Wall -W -D__GLIBC__
Raymond Danksa2937142012-04-27 08:46:55 -060029HOSTCFLAGS =
Patrick Georgi499fc922012-03-09 10:53:52 +010030endif
31
32nvramtoolobj :=
33nvramtoolobj += cli/nvramtool.o cli/opts.o
34nvramtoolobj += cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o
Vikram Narayanana8111cf2012-04-14 15:25:13 +053035nvramtoolobj += 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 +020036nvramtoolobj += reg_expr.o cbfs.o accessors/cmos-mem.o
Patrick Georgi499fc922012-03-09 10:53:52 +010037
Zheng Bao54516722012-10-22 16:41:42 +080038ifeq ($(shell uname -s 2>/dev/null | cut -c-7), MINGW32)
39NVRAMTOOLLDFLAGS += -lregex -lwsock32
40nvramtoolobj += win32mmap.o
41endif
42
Patrick Georgi499fc922012-03-09 10:53:52 +010043$(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli:
44 mkdir -p $@
45
46$(objutil)/nvramtool/%.o: $(top)/util/nvramtool/%.c
47 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
48 $(HOSTCC) $(NVRAMTOOLFLAGS) $(HOSTCFLAGS) -c -o $@ $<
49
50$(objutil)/nvramtool/nvramtool: $(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli $(addprefix $(objutil)/nvramtool/,$(nvramtoolobj))
51 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Raymond Danksa2937142012-04-27 08:46:55 -060052 $(HOSTCC) $(NVRAMTOOLFLAGS) -o $@ $(addprefix $(objutil)/nvramtool/,$(nvramtoolobj)) $(NVRAMTOOLLDFLAGS)
Patrick Georgi499fc922012-03-09 10:53:52 +010053
54