summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.inc5
-rw-r--r--util/ifdtool/Makefile.inc18
2 files changed, 19 insertions, 4 deletions
diff --git a/Makefile.inc b/Makefile.inc
index ae61c2ebf3fe..72f5d24da0ec 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -85,6 +85,7 @@ subdirs-y += $(wildcard src/drivers/*) $(wildcard src/drivers/*/*) $(wildcard sr
subdirs-y += src/cpu src/vendorcode
subdirs-y += util/cbfstool util/sconfig util/nvramtool util/pgtblgen util/amdfwtool
subdirs-y += util/futility util/marvell util/bincfg util/supermicro util/qemu
+subdirs-y += util/ifdtool
subdirs-y += $(wildcard src/arch/*)
subdirs-y += src/mainboard/$(MAINBOARDDIR)
subdirs-y += src/security
@@ -576,10 +577,6 @@ endif
BINCFG:=$(objutil)/bincfg/bincfg
IFDTOOL:=$(objutil)/ifdtool/ifdtool
-$(IFDTOOL):
- @printf " Compile IFDTOOL\n"
- +$(MAKE) -C $(top)/util/ifdtool
- cp -a $(top)/util/ifdtool/ifdtool $@
AMDFWTOOL:=$(objutil)/amdfwtool/amdfwtool
diff --git a/util/ifdtool/Makefile.inc b/util/ifdtool/Makefile.inc
new file mode 100644
index 000000000000..b2d8f878041c
--- /dev/null
+++ b/util/ifdtool/Makefile.inc
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: BSD-3-Clause
+
+ifdtoolobj = ifdtool.o fmap.o kv_pair.o valstr.o
+
+IFDTOOLCFLAGS = -O2 -g -Wall -Wextra -Wmissing-prototypes -Werror
+IFDTOOLCFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
+IFDTOOLCFLAGS += -I$(top)/util/cbfstool/flashmap
+IFDTOOLCFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
+
+$(objutil)/ifdtool/%.o: $(top)/util/ifdtool/%.c
+ $(HOSTCC) $(IFDTOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/ifdtool/%.o: $(top)/util/cbfstool/flashmap/%.c
+ $(HOSTCC) $(IFDTOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/ifdtool/ifdtool: $(addprefix $(objutil)/ifdtool/,$(ifdtoolobj))
+ printf " IFDTOOL\n"
+ $(HOSTCC) $(addprefix $(objutil)/ifdtool/,$(ifdtoolobj)) -o $@