Revert "util/cbfstool: Port elogtool to libflashrom"
[coreboot.git] / util / cbfstool / Makefile.inc
blob3787a5657809892dfafd7646e45807ccb6962324
1 compressionobj :=
2 compressionobj += compress.o
3 # LZ4
4 compressionobj += lz4.o
5 compressionobj += lz4hc.o
6 compressionobj += lz4frame.o
7 compressionobj += xxhash.o
8 compressionobj += lz4_wrapper.o
9 # LZMA
10 compressionobj += lzma.o
11 compressionobj += LzFind.o
12 compressionobj += LzmaDec.o
13 compressionobj += LzmaEnc.o
15 cbfsobj :=
16 cbfsobj += cbfstool.o
17 cbfsobj += common.o
18 cbfsobj += cbfs_image.o
19 cbfsobj += cbfs-mkstage.o
20 cbfsobj += cbfs-mkpayload.o
21 cbfsobj += elfheaders.o
22 cbfsobj += rmodule.o
23 cbfsobj += xdr.o
24 cbfsobj += partitioned_file.o
25 cbfsobj += platform_fixups.o
26 # COMMONLIB
27 cbfsobj += cbfs_private.o
28 cbfsobj += fsp_relocate.o
29 # FMAP
30 cbfsobj += fmap.o
31 cbfsobj += kv_pair.o
32 cbfsobj += valstr.o
33 # linux as payload
34 cbfsobj += linux_trampoline.o
35 cbfsobj += cbfs-payload-linux.o
36 # compression algorithms
37 cbfsobj += $(compressionobj)
39 fmapobj :=
40 fmapobj += fmaptool.o
41 fmapobj += cbfs_sections.o
42 fmapobj += fmap_from_fmd.o
43 fmapobj += fmd.o
44 fmapobj += fmd_parser.o
45 fmapobj += fmd_scanner.o
46 # FMAP
47 fmapobj += fmap.o
48 fmapobj += kv_pair.o
49 fmapobj += valstr.o
51 rmodobj :=
52 rmodobj += rmodtool.o
53 rmodobj += rmodule.o
54 rmodobj += common.o
55 rmodobj += elfheaders.o
56 rmodobj += xdr.o
58 ifwiobj :=
59 ifwiobj += ifwitool.o
60 ifwiobj += common.o
62 ifitobj :=
63 ifitobj += ifittool.o
64 ifitobj += common.o
65 ifitobj += fit.o
66 ifitobj += cbfs_image.o
67 # Make it link ....
68 ifitobj += xdr.o
69 ifitobj += elfheaders.o
70 ifitobj += partitioned_file.o
71 ifitobj += cbfs-mkstage.o
72 ifitobj += cbfs-mkpayload.o
73 ifitobj += rmodule.o
74 # FMAP
75 ifitobj += fmap.o
76 ifitobj += kv_pair.o
77 ifitobj += valstr.o
78 # compression algorithms
79 ifitobj += $(compressionobj)
82 cbfscompobj :=
83 cbfscompobj += $(compressionobj)
84 cbfscompobj += cbfscomptool.o
86 amdcompobj :=
87 amdcompobj += amdcompress.o
88 amdcompobj += elfheaders.o
89 amdcompobj += common.o
90 amdcompobj += xdr.o
92 elogobj :=
93 elogobj := elogtool.o
94 elogobj += eventlog.o
95 elogobj += valstr.o
96 elogobj += elog.o
97 elogobj += common.o
99 include $(top)/util/cbfstool/fpt_formats/Makefile.inc
100 cse_fpt_obj :=
101 cse_fpt_obj += cse_fpt.o
102 cse_fpt_obj += common.o
103 cse_fpt_obj += cse_helpers.o
104 cse_fpt_obj += $(foreach var, $(fpt_formats_obj), $(var))
106 include $(top)/util/cbfstool/bpdt_formats/Makefile.inc
107 cse_serger_obj :=
108 cse_serger_obj += cse_serger.o
109 cse_serger_obj += common.o
110 cse_serger_obj += cse_helpers.o
111 cse_serger_obj += $(foreach var, $(bpdt_formats_obj), $(var))
113 TOOLCFLAGS ?= -Werror -Wall -Wextra -Wshadow
114 TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
115 TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
116 TOOLCFLAGS += -O2
117 TOOLCPPFLAGS ?= -D_DEFAULT_SOURCE # memccpy() from string.h
118 TOOLCPPFLAGS += -D_BSD_SOURCE -D_SVID_SOURCE # _DEFAULT_SOURCE for older glibc
119 TOOLCPPFLAGS += -D_GNU_SOURCE # memmem() from string.h
120 TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
121 TOOLCPPFLAGS += -I$(top)/util/cbfstool
122 TOOLCPPFLAGS += -I$(objutil)/cbfstool
123 TOOLCPPFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
124 TOOLCPPFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
125 TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/include
126 TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/2lib/include
127 TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/include
128 TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/lib/include
129 # UEFI header file support. It's not pretty, but that's what we currently
130 # have right now.
131 TOOLCPPFLAGS += -I$(top)/src
132 TOOLCPPFLAGS += -I$(top)/src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
134 TOOLLDFLAGS ?=
135 HOSTCFLAGS += -fms-extensions
137 ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
138 TOOLCFLAGS += -mno-ms-bitfields
139 endif
140 ifeq ($(shell uname -o 2>/dev/null), Cygwin)
141 TOOLCFLAGS+=-std=gnu11
142 TOOLCPPFLAGS+=-D_GNU_SOURCE
143 else
144 TOOLCFLAGS+=-std=c11
145 endif
147 VBOOT_HOSTLIB = $(VBOOT_HOST_BUILD)/libvboot_host.a
149 $(VBOOT_HOSTLIB):
150         printf "    MAKE       $(subst $(objutil)/,,$(@))\n"
151         unset CFLAGS LDFLAGS; $(MAKE) -C $(VBOOT_SOURCE) \
152                 BUILD=$(VBOOT_HOST_BUILD) \
153                 CC="$(HOSTCC)" \
154                 PKG_CONFIG="true" \
155                 V=$(V) \
156                 DEBUG= \
157                 hostlib
159 $(objutil)/cbfstool/%.o: $(objutil)/cbfstool/%.c
160         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
161         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
163 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
164         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
165         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
167 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/flashmap/%.c
168         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
169         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
171 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.c
172         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
173         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
175 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
176         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
177         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
179 $(objutil)/cbfstool/%.o: $(top)/src/commonlib/%.c
180         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
181         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
183 $(objutil)/cbfstool/%.o: $(top)/src/commonlib/bsd/%.c
184         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
185         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
187 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lz4/lib/%.c
188         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
189         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
191 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/fpt_formats/%.c
192         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
193         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
195 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/bpdt_formats/%.c
196         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
197         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
199 $(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
200         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
201         $(HOSTCC) -v $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
203 $(objutil)/cbfstool/fmaptool: $(addprefix $(objutil)/cbfstool/,$(fmapobj))
204         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
205         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(fmapobj))
207 $(objutil)/cbfstool/rmodtool: $(addprefix $(objutil)/cbfstool/,$(rmodobj))
208         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
209         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(rmodobj))
211 $(objutil)/cbfstool/ifwitool: $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
212         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
213         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
215 $(objutil)/cbfstool/ifittool: $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
216         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
217         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
219 $(objutil)/cbfstool/cbfs-compression-tool: $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
220         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
221         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
223 $(objutil)/cbfstool/amdcompress: $(addprefix $(objutil)/cbfstool/,$(amdcompobj))
224         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
225         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) -lz
227 $(objutil)/cbfstool/elogtool: $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
228         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
229         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
231 $(objutil)/cbfstool/cse_fpt: $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
232         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
233         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
235 $(objutil)/cbfstool/cse_serger: $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
236         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
237         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
239 # Yacc source is superset of header
240 $(objutil)/cbfstool/fmd.o: TOOLCFLAGS += -Wno-redundant-decls
241 $(objutil)/cbfstool/fmd_parser.o: TOOLCFLAGS += -Wno-redundant-decls
242 # Lex generates unneeded functions and declarations
243 $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-redundant-decls
244 $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-unused-function
245 # Tolerate lzma sdk warnings
246 $(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
247 # Tolerate commonlib warnings
248 $(objutil)/cbfstool/cbfs_private.o: TOOLCFLAGS += -Wno-sign-compare
249 # Tolerate lz4 warnings
250 $(objutil)/cbfstool/lz4.o: TOOLCFLAGS += -Wno-missing-prototypes
251 $(objutil)/cbfstool/lz4_wrapper.o: TOOLCFLAGS += -Wno-attributes
253 $(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_parser.h
254 $(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_scanner.h
255 $(objutil)/cbfstool/fmd_parser.o: $(objutil)/cbfstool/fmd.o
256 $(objutil)/cbfstool/fmd_scanner.o: $(objutil)/cbfstool/fmd.o
257 $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-sign-compare
259 $(objutil)/cbfstool/%: $(top)/util/cbfstool/%_shipped
260         mkdir -p $(dir $@)
261         cp $< $@
263 ifeq ($(CONFIG_FMD_GENPARSER),y)
264 TOOLLEX := lex
265 TOOLYACC := yacc
267 # the .c rule also creates .h
268 $(top)/util/cbfstool/fmd_scanner.h_shipped: $(top)/util/cbfstool/fmd_scanner.c_shipped
269 $(top)/util/cbfstool/fmd_scanner.c_shipped: $(top)/util/cbfstool/fmd_scanner.l
270         echo "    LEX        util/cbfstool/fmd_scanner.[ch]"
271         $(TOOLLEX) -t --header-file=$(top)/util/cbfstool/fmd_scanner.h_shipped $< >$(top)/util/cbfstool/fmd_scanner.c_shipped
273 # the .c rule also creates .h
274 $(top)/util/cbfstool/fmd_parser.h_shipped: $(top)/util/cbfstool/fmd_parser.c_shipped
275 $(top)/util/cbfstool/fmd_parser.c_shipped: $(top)/util/cbfstool/fmd_parser.y
276         echo "    YACC       util/cbfstool/fmd_parser.[ch]"
277         $(TOOLYACC) -d $<
278         mv -f y.tab.c $(top)/util/cbfstool/fmd_parser.c_shipped
279         mv -f y.tab.h $(top)/util/cbfstool/fmd_parser.h_shipped
281 endif # CONFIG_FMD_GENPARSER