## ## 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), 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 $(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)) $(NVRAMTOOLLDFLAGS)