summaryrefslogtreecommitdiffstats
path: root/util/cbfstool/Makefile.mk
diff options
context:
space:
mode:
authorMartin Roth <gaumless@gmail.com>2024-01-18 18:46:58 -0700
committerFelix Singer <service+coreboot-gerrit@felixsinger.de>2024-01-26 12:43:18 +0000
commit1f30b244b296a131f4eaf95962bab048f8b3d481 (patch)
tree390c0dd1e31cd11ce4f2b664445f445d1f1f8996 /util/cbfstool/Makefile.mk
parentba3a71966876aad1c720d7c385dd4058f844f5e8 (diff)
downloadcoreboot-1f30b244b296a131f4eaf95962bab048f8b3d481.tar.gz
coreboot-1f30b244b296a131f4eaf95962bab048f8b3d481.tar.bz2
coreboot-1f30b244b296a131f4eaf95962bab048f8b3d481.zip
util: Rename Makefiles from .inc to .mk
The .inc suffix is confusing to various tools as it's not specific to Makefiles. This means that editors don't recognize the files, and don't open them with highlighting and any other specific editor functionality. This issue is also seen in the release notes generation script where Makefiles get renamed before running cloc. Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I434940ebb46853980596f7ad55d27a62c90280fa Reviewed-on: https://review.coreboot.org/c/coreboot/+/80123 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'util/cbfstool/Makefile.mk')
-rw-r--r--util/cbfstool/Makefile.mk284
1 files changed, 284 insertions, 0 deletions
diff --git a/util/cbfstool/Makefile.mk b/util/cbfstool/Makefile.mk
new file mode 100644
index 000000000000..8577874044e2
--- /dev/null
+++ b/util/cbfstool/Makefile.mk
@@ -0,0 +1,284 @@
+## SPDX-License-Identifier: GPL-2.0-only
+compressionobj :=
+compressionobj += compress.o
+# LZ4
+compressionobj += lz4.o
+compressionobj += lz4hc.o
+compressionobj += lz4frame.o
+compressionobj += xxhash.o
+compressionobj += lz4_wrapper.o
+# LZMA
+compressionobj += lzma.o
+compressionobj += LzFind.o
+compressionobj += LzmaDec.o
+compressionobj += LzmaEnc.o
+
+cbfsobj :=
+cbfsobj += cbfstool.o
+cbfsobj += common.o
+cbfsobj += cbfs_image.o
+cbfsobj += cbfs-mkstage.o
+cbfsobj += cbfs-mkpayload.o
+cbfsobj += elfheaders.o
+cbfsobj += rmodule.o
+cbfsobj += xdr.o
+cbfsobj += partitioned_file.o
+cbfsobj += platform_fixups.o
+# COMMONLIB
+cbfsobj += cbfs_private.o
+cbfsobj += fsp_relocate.o
+# FMAP
+cbfsobj += fmap.o
+cbfsobj += kv_pair.o
+cbfsobj += valstr.o
+# linux as payload
+cbfsobj += linux_trampoline.o
+cbfsobj += cbfs-payload-linux.o
+# compression algorithms
+cbfsobj += $(compressionobj)
+
+fmapobj :=
+fmapobj += fmaptool.o
+fmapobj += cbfs_sections.o
+fmapobj += fmap_from_fmd.o
+fmapobj += fmd.o
+fmapobj += fmd_parser.o
+fmapobj += fmd_scanner.o
+# FMAP
+fmapobj += fmap.o
+fmapobj += kv_pair.o
+fmapobj += valstr.o
+
+rmodobj :=
+rmodobj += rmodtool.o
+rmodobj += rmodule.o
+rmodobj += common.o
+rmodobj += elfheaders.o
+rmodobj += xdr.o
+
+ifwiobj :=
+ifwiobj += ifwitool.o
+ifwiobj += common.o
+
+ifitobj :=
+ifitobj += ifittool.o
+ifitobj += common.o
+ifitobj += fit.o
+ifitobj += cbfs_image.o
+# Make it link ....
+ifitobj += xdr.o
+ifitobj += elfheaders.o
+ifitobj += partitioned_file.o
+ifitobj += cbfs-mkstage.o
+ifitobj += cbfs-mkpayload.o
+ifitobj += rmodule.o
+# FMAP
+ifitobj += fmap.o
+ifitobj += kv_pair.o
+ifitobj += valstr.o
+# compression algorithms
+ifitobj += $(compressionobj)
+
+
+cbfscompobj :=
+cbfscompobj += $(compressionobj)
+cbfscompobj += cbfscomptool.o
+
+amdcompobj :=
+amdcompobj += amdcompress.o
+amdcompobj += elfheaders.o
+amdcompobj += common.o
+amdcompobj += xdr.o
+
+elogobj :=
+elogobj := elogtool.o
+elogobj += eventlog.o
+elogobj += valstr.o
+elogobj += elog.o
+elogobj += common.o
+elogobj += flashrom.o
+
+include $(top)/util/cbfstool/fpt_formats/Makefile.mk
+cse_fpt_obj :=
+cse_fpt_obj += cse_fpt.o
+cse_fpt_obj += common.o
+cse_fpt_obj += cse_helpers.o
+cse_fpt_obj += $(foreach var, $(fpt_formats_obj), $(var))
+
+include $(top)/util/cbfstool/bpdt_formats/Makefile.mk
+cse_serger_obj :=
+cse_serger_obj += cse_serger.o
+cse_serger_obj += common.o
+cse_serger_obj += cse_helpers.o
+cse_serger_obj += $(foreach var, $(bpdt_formats_obj), $(var))
+
+TOOLCFLAGS ?= -Werror -Wall -Wextra -Wshadow
+TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
+TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
+TOOLCFLAGS += -O2
+TOOLCPPFLAGS ?= -D_DEFAULT_SOURCE # memccpy() from string.h
+TOOLCPPFLAGS += -D_BSD_SOURCE -D_SVID_SOURCE # _DEFAULT_SOURCE for older glibc
+TOOLCPPFLAGS += -D_GNU_SOURCE # memmem() from string.h
+TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
+TOOLCPPFLAGS += -I$(top)/util/cbfstool
+TOOLCPPFLAGS += -I$(objutil)/cbfstool
+TOOLCPPFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
+TOOLCPPFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
+TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/include
+TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/2lib/include
+TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/include
+TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/lib/include
+# UEFI header file support. It's not pretty, but that's what we currently
+# have right now.
+TOOLCPPFLAGS += -I$(top)/src
+TOOLCPPFLAGS += -I$(top)/src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
+
+TOOLLDFLAGS ?=
+
+ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
+HOSTCFLAGS += -fms-extensions
+TOOLCFLAGS += -mno-ms-bitfields
+endif
+ifeq ($(shell uname -o 2>/dev/null), Cygwin)
+TOOLCFLAGS+=-std=gnu11
+TOOLCPPFLAGS+=-D_GNU_SOURCE
+else
+TOOLCFLAGS+=-std=c11
+endif
+
+LZ4CFLAGS ?= -Wno-strict-prototypes
+
+VBOOT_HOSTLIB = $(VBOOT_HOST_BUILD)/libvboot_host.a
+
+$(VBOOT_HOSTLIB):
+ printf " MAKE $(subst $(objutil)/,,$(@))\n"
+ unset CFLAGS LDFLAGS; $(MAKE) -C $(VBOOT_SOURCE) \
+ BUILD=$(VBOOT_HOST_BUILD) \
+ CC="$(HOSTCC)" \
+ PKG_CONFIG="true" \
+ USE_FLASHROM=0 \
+ V=$(V) \
+ DEBUG= \
+ hostlib
+
+$(objutil)/cbfstool/%.o: $(objutil)/cbfstool/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/flashmap/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/src/commonlib/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/src/commonlib/bsd/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lz4/lib/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) $(LZ4CFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/fpt_formats/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/bpdt_formats/%.c
+ printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
+ $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+
+$(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) -v $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
+
+$(objutil)/cbfstool/fmaptool: $(addprefix $(objutil)/cbfstool/,$(fmapobj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(fmapobj))
+
+$(objutil)/cbfstool/rmodtool: $(addprefix $(objutil)/cbfstool/,$(rmodobj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(rmodobj))
+
+$(objutil)/cbfstool/ifwitool: $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
+
+$(objutil)/cbfstool/ifittool: $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
+
+$(objutil)/cbfstool/cbfs-compression-tool: $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
+
+$(objutil)/cbfstool/amdcompress: $(addprefix $(objutil)/cbfstool/,$(amdcompobj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) -lz
+
+$(objutil)/cbfstool/elogtool: $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
+
+$(objutil)/cbfstool/cse_fpt: $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
+
+$(objutil)/cbfstool/cse_serger: $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
+ printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
+ $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
+
+# Yacc source is superset of header
+$(objutil)/cbfstool/fmd.o: TOOLCFLAGS += -Wno-redundant-decls
+$(objutil)/cbfstool/fmd_parser.o: TOOLCFLAGS += -Wno-redundant-decls
+# Lex generates unneeded functions and declarations
+$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-redundant-decls
+$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-unused-function
+# Tolerate lzma sdk warnings
+$(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
+# Tolerate commonlib warnings
+$(objutil)/cbfstool/cbfs_private.o: TOOLCFLAGS += -Wno-sign-compare
+# Tolerate lz4 warnings
+$(objutil)/cbfstool/lz4.o: TOOLCFLAGS += -Wno-missing-prototypes
+$(objutil)/cbfstool/lz4_wrapper.o: TOOLCFLAGS += -Wno-attributes
+
+$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_parser.h
+$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_scanner.h
+$(objutil)/cbfstool/fmd_parser.o: $(objutil)/cbfstool/fmd.o
+$(objutil)/cbfstool/fmd_scanner.o: $(objutil)/cbfstool/fmd.o
+$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-sign-compare
+
+$(objutil)/cbfstool/%: $(top)/util/cbfstool/%_shipped
+ mkdir -p $(dir $@)
+ cp $< $@
+
+ifeq ($(CONFIG_FMD_GENPARSER),y)
+TOOLLEX := lex
+TOOLYACC := bison
+
+# the .c rule also creates .h
+$(top)/util/cbfstool/fmd_scanner.h_shipped: $(top)/util/cbfstool/fmd_scanner.c_shipped
+$(top)/util/cbfstool/fmd_scanner.c_shipped: $(top)/util/cbfstool/fmd_scanner.l
+ echo " LEX util/cbfstool/fmd_scanner.[ch]"
+ $(TOOLLEX) -L -o $@ --header-file=$(patsubst %.c_shipped,%.h_shipped,$@) $<
+
+# the .c rule also creates .h
+$(top)/util/cbfstool/fmd_parser.h_shipped: $(top)/util/cbfstool/fmd_parser.c_shipped
+$(top)/util/cbfstool/fmd_parser.c_shipped: $(top)/util/cbfstool/fmd_parser.y
+ echo " YACC util/cbfstool/fmd_parser.[ch]"
+ $(TOOLYACC) -l -o $@ --defines=$(patsubst %.c_shipped,%.h_shipped,$@) $<
+
+endif # CONFIG_FMD_GENPARSER