c6dd4435d2
Vboot determines openssl through pkgconfig, so pointing its build system to /bin/true makes the build not break unless it needs to use valid information about openssl. Vboot's use of openssl is only for some special features, mostly around PKCS key format parsing and not needed by cbfstool. While cbfstool can link vboot, it can't link with openssl because openssl's license is deliberately incompatible with the GPL. Change-Id: Ia3825f9625a1964d7cefc47ab3c3a8250ceefafb Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/42880 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
244 lines
8.3 KiB
Makefile
244 lines
8.3 KiB
Makefile
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
|
|
# COMMONLIB
|
|
cbfsobj += cbfs.o
|
|
cbfsobj += fsp_relocate.o
|
|
cbfsobj += mem_pool.o
|
|
cbfsobj += region.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
|
|
# COMMONLIB
|
|
ifitobj += cbfs.o
|
|
ifitobj += mem_pool.o
|
|
ifitobj += region.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
|
|
|
|
TOOLCFLAGS ?= -Werror -Wall -Wextra
|
|
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_XOPEN_SOURCE=700 # strdup() 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
|
|
# 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 ?=
|
|
HOSTCFLAGS += -fms-extensions
|
|
|
|
ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
|
|
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
|
|
|
|
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" \
|
|
V=$(V) \
|
|
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) -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
|
|
|
|
# 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/region.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
|
|
$(objutil)/cbfstool/cbfs.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
|
|
$(objutil)/cbfstool/mem_pool.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
|
|
# 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 := yacc
|
|
|
|
# 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) -t --header-file=$(top)/util/cbfstool/fmd_scanner.h_shipped $< >$(top)/util/cbfstool/fmd_scanner.c_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) -d $<
|
|
mv -f y.tab.c $(top)/util/cbfstool/fmd_parser.c_shipped
|
|
mv -f y.tab.h $(top)/util/cbfstool/fmd_parser.h_shipped
|
|
|
|
endif # CONFIG_FMD_GENPARSER
|