blob: 8428f8a328338c1c94daf0769d63a57c01d5c11f [file] [log] [blame]
Martin Rothadaab4a2022-10-28 22:38:44 -06001## SPDX-License-Identifier: GPL-2.0-only
Patrick Georgic88d16b2017-01-11 15:26:58 +01002compressionobj :=
3compressionobj += compress.o
4# LZ4
5compressionobj += lz4.o
6compressionobj += lz4hc.o
7compressionobj += lz4frame.o
8compressionobj += xxhash.o
9compressionobj += lz4_wrapper.o
10# LZMA
11compressionobj += lzma.o
12compressionobj += LzFind.o
13compressionobj += LzmaDec.o
14compressionobj += LzmaEnc.o
15
Patrick Georgi0588d192009-08-12 15:00:51 +000016cbfsobj :=
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070017cbfsobj += cbfstool.o
Patrick Georgib7b56dd82009-09-14 13:29:27 +000018cbfsobj += common.o
Hung-Te Lineab2c812013-01-29 01:56:17 +080019cbfsobj += cbfs_image.o
Patrick Georgib7b56dd82009-09-14 13:29:27 +000020cbfsobj += cbfs-mkstage.o
21cbfsobj += cbfs-mkpayload.o
Ronald G. Minnicha8a133d2013-12-30 13:16:18 -080022cbfsobj += elfheaders.o
Aaron Durbin4be16742015-09-15 17:00:23 -050023cbfsobj += rmodule.o
Ronald G. Minnichaa2f7392013-12-03 11:13:35 -080024cbfsobj += xdr.o
Sol Bouchere3260a02015-03-25 13:40:08 -070025cbfsobj += partitioned_file.o
Julius Werner76dab5f2020-03-19 21:09:35 -070026cbfsobj += platform_fixups.o
Julius Werner09f29212015-09-29 13:51:35 -070027# COMMONLIB
Julius Werner4bfbabd2020-05-06 17:27:02 -070028cbfsobj += cbfs_private.o
Furquan Shaikhb0c2fe02016-05-09 12:23:01 -070029cbfsobj += fsp_relocate.o
Sol Bouchere3260a02015-03-25 13:40:08 -070030# FMAP
31cbfsobj += fmap.o
32cbfsobj += kv_pair.o
33cbfsobj += valstr.o
Patrick Georgide36d332013-08-27 20:22:21 +020034# linux as payload
35cbfsobj += linux_trampoline.o
36cbfsobj += cbfs-payload-linux.o
Patrick Georgic88d16b2017-01-11 15:26:58 +010037# compression algorithms
38cbfsobj += $(compressionobj)
Patrick Georgi0588d192009-08-12 15:00:51 +000039
Sol Boucher69b88bf2015-02-26 11:47:19 -080040fmapobj :=
41fmapobj += fmaptool.o
Sol Boucher023e8292015-03-18 10:13:48 -070042fmapobj += cbfs_sections.o
Sol Boucher69b88bf2015-02-26 11:47:19 -080043fmapobj += fmap_from_fmd.o
44fmapobj += fmd.o
45fmapobj += fmd_parser.o
46fmapobj += fmd_scanner.o
47# FMAP
48fmapobj += fmap.o
49fmapobj += kv_pair.o
50fmapobj += valstr.o
51
Sol Boucher0e539312015-03-05 15:38:03 -080052rmodobj :=
Aaron Durbin4fde5a62014-03-07 15:11:53 -060053rmodobj += rmodtool.o
54rmodobj += rmodule.o
55rmodobj += common.o
56rmodobj += elfheaders.o
57rmodobj += xdr.o
58
Furquan Shaikh233f1b62016-05-19 16:12:16 -070059ifwiobj :=
60ifwiobj += ifwitool.o
61ifwiobj += common.o
62
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +010063ifitobj :=
64ifitobj += ifittool.o
65ifitobj += common.o
66ifitobj += fit.o
67ifitobj += cbfs_image.o
68# Make it link ....
69ifitobj += xdr.o
70ifitobj += elfheaders.o
71ifitobj += partitioned_file.o
72ifitobj += cbfs-mkstage.o
73ifitobj += cbfs-mkpayload.o
74ifitobj += rmodule.o
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +010075# FMAP
76ifitobj += fmap.o
77ifitobj += kv_pair.o
78ifitobj += valstr.o
79# compression algorithms
80ifitobj += $(compressionobj)
81
82
Patrick Georgic88d16b2017-01-11 15:26:58 +010083cbfscompobj :=
84cbfscompobj += $(compressionobj)
85cbfscompobj += cbfscomptool.o
86
Marshall Dawson30cf1552019-03-19 14:48:33 -060087amdcompobj :=
88amdcompobj += amdcompress.o
89amdcompobj += elfheaders.o
90amdcompobj += common.o
91amdcompobj += xdr.o
92
Ricardo Quesadac2cf3942021-07-16 16:49:04 -070093elogobj :=
94elogobj := elogtool.o
95elogobj += eventlog.o
96elogobj += valstr.o
97elogobj += elog.o
98elogobj += common.o
Edward O'Callaghan774dcff2022-06-06 20:01:04 +100099elogobj += flashrom.o
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700100
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700101include $(top)/util/cbfstool/fpt_formats/Makefile.inc
102cse_fpt_obj :=
103cse_fpt_obj += cse_fpt.o
104cse_fpt_obj += common.o
Furquan Shaikh555f0402021-10-08 15:18:33 -0700105cse_fpt_obj += cse_helpers.o
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700106cse_fpt_obj += $(foreach var, $(fpt_formats_obj), $(var))
107
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700108include $(top)/util/cbfstool/bpdt_formats/Makefile.inc
109cse_serger_obj :=
110cse_serger_obj += cse_serger.o
111cse_serger_obj += common.o
Furquan Shaikh555f0402021-10-08 15:18:33 -0700112cse_serger_obj += cse_helpers.o
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700113cse_serger_obj += $(foreach var, $(bpdt_formats_obj), $(var))
114
Martin Roth92f447a2021-02-14 14:57:06 -0700115TOOLCFLAGS ?= -Werror -Wall -Wextra -Wshadow
Sol Boucher0e539312015-03-05 15:38:03 -0800116TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
117TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
Patrick Georgi8474e7d2017-01-11 17:17:18 +0100118TOOLCFLAGS += -O2
Sol Boucher69b88bf2015-02-26 11:47:19 -0800119TOOLCPPFLAGS ?= -D_DEFAULT_SOURCE # memccpy() from string.h
Julius Wernerd6900a92020-01-29 11:34:44 -0800120TOOLCPPFLAGS += -D_BSD_SOURCE -D_SVID_SOURCE # _DEFAULT_SOURCE for older glibc
Julius Werner4bfbabd2020-05-06 17:27:02 -0700121TOOLCPPFLAGS += -D_GNU_SOURCE # memmem() from string.h
Sol Boucher69b88bf2015-02-26 11:47:19 -0800122TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
Patrick Georgi7b321452015-05-19 16:43:05 +0200123TOOLCPPFLAGS += -I$(top)/util/cbfstool
124TOOLCPPFLAGS += -I$(objutil)/cbfstool
Julius Werner98eeb962019-12-11 15:47:42 -0800125TOOLCPPFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
126TOOLCPPFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
Paul Kocialkowski61486b52016-07-24 12:14:38 +0200127TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/include
128TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/2lib/include
Julius Wernerd4775652020-03-13 16:43:34 -0700129TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/include
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700130TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/lib/include
Aaron Durbin8a414a02015-10-01 17:02:45 -0500131# UEFI header file support. It's not pretty, but that's what we currently
132# have right now.
133TOOLCPPFLAGS += -I$(top)/src
134TOOLCPPFLAGS += -I$(top)/src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
135
Paul Menzel6548ae92015-05-03 09:35:32 +0200136TOOLLDFLAGS ?=
Werner Zeh8c3780a2015-10-02 09:56:32 +0200137HOSTCFLAGS += -fms-extensions
Sol Boucher0e539312015-03-05 15:38:03 -0800138
Zheng Baoc31cdd82012-10-22 16:39:24 +0800139ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
Patrick Georgicdeb1c42015-09-16 16:19:26 +0200140TOOLCFLAGS += -mno-ms-bitfields
Zheng Baoc31cdd82012-10-22 16:39:24 +0800141endif
Stefan Reinauer354c11d2015-09-15 17:41:07 -0700142ifeq ($(shell uname -o 2>/dev/null), Cygwin)
Julius Werner3833f0f2019-12-11 22:01:32 -0800143TOOLCFLAGS+=-std=gnu11
Stefan Reinauer354c11d2015-09-15 17:41:07 -0700144TOOLCPPFLAGS+=-D_GNU_SOURCE
145else
Julius Werner3833f0f2019-12-11 22:01:32 -0800146TOOLCFLAGS+=-std=c11
Stefan Reinauer354c11d2015-09-15 17:41:07 -0700147endif
Zheng Baoc31cdd82012-10-22 16:39:24 +0800148
Manoj Guptadfb8d802022-04-27 20:23:11 -0700149LZ4CFLAGS ?= -Wno-strict-prototypes
150
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800151VBOOT_HOSTLIB = $(VBOOT_HOST_BUILD)/libvboot_host.a
152
153$(VBOOT_HOSTLIB):
154 printf " MAKE $(subst $(objutil)/,,$(@))\n"
155 unset CFLAGS LDFLAGS; $(MAKE) -C $(VBOOT_SOURCE) \
156 BUILD=$(VBOOT_HOST_BUILD) \
157 CC="$(HOSTCC)" \
Patrick Georgic6dd4432020-06-29 21:01:44 +0200158 PKG_CONFIG="true" \
Angel Ponsbb58c1e2022-06-18 12:00:33 +0200159 USE_FLASHROM=0 \
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800160 V=$(V) \
Nico Huber6cd4d322021-06-22 14:31:20 +0000161 DEBUG= \
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800162 hostlib
163
Patrick Georgi7b321452015-05-19 16:43:05 +0200164$(objutil)/cbfstool/%.o: $(objutil)/cbfstool/%.c
165 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
166 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
167
Patrick Georgia2acbc72010-04-16 22:48:57 +0000168$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
169 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -0800170 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +0000171
Sol Boucher69b88bf2015-02-26 11:47:19 -0800172$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/flashmap/%.c
173 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
174 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
175
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -0700176$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.c
177 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -0800178 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgib7b56dd82009-09-14 13:29:27 +0000179
Stefan Reinauer2e200cd2012-10-30 14:02:45 -0700180$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
Zheng Baoa182cbd2012-12-14 15:44:59 +0800181 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -0800182 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgib7b56dd82009-09-14 13:29:27 +0000183
Aaron Durbin8a414a02015-10-01 17:02:45 -0500184$(objutil)/cbfstool/%.o: $(top)/src/commonlib/%.c
185 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
186 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
187
Julius Werner98eeb962019-12-11 15:47:42 -0800188$(objutil)/cbfstool/%.o: $(top)/src/commonlib/bsd/%.c
189 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
190 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
191
Julius Werner09f29212015-09-29 13:51:35 -0700192$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lz4/lib/%.c
193 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Manoj Guptadfb8d802022-04-27 20:23:11 -0700194 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) $(LZ4CFLAGS) -c -o $@ $<
Julius Werner09f29212015-09-29 13:51:35 -0700195
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700196$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/fpt_formats/%.c
197 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
198 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
199
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700200$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/bpdt_formats/%.c
201 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
202 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
203
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800204$(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -0700205 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800206 $(HOSTCC) -v $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
Aaron Durbin4fde5a62014-03-07 15:11:53 -0600207
Sol Boucher69b88bf2015-02-26 11:47:19 -0800208$(objutil)/cbfstool/fmaptool: $(addprefix $(objutil)/cbfstool/,$(fmapobj))
209 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
210 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(fmapobj))
211
Patrick Georgi913e1712014-07-15 12:28:12 +0200212$(objutil)/cbfstool/rmodtool: $(addprefix $(objutil)/cbfstool/,$(rmodobj))
Aaron Durbin4fde5a62014-03-07 15:11:53 -0600213 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Paul Menzel6548ae92015-05-03 09:35:32 +0200214 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(rmodobj))
Sol Boucher0e539312015-03-05 15:38:03 -0800215
Furquan Shaikh233f1b62016-05-19 16:12:16 -0700216$(objutil)/cbfstool/ifwitool: $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
217 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
218 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
219
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800220$(objutil)/cbfstool/ifittool: $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +0100221 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800222 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +0100223
Patrick Georgic88d16b2017-01-11 15:26:58 +0100224$(objutil)/cbfstool/cbfs-compression-tool: $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
225 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
226 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
227
Marshall Dawson30cf1552019-03-19 14:48:33 -0600228$(objutil)/cbfstool/amdcompress: $(addprefix $(objutil)/cbfstool/,$(amdcompobj))
229 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
230 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) -lz
231
Martin Rothe3e965b2022-02-25 17:28:04 -0700232$(objutil)/cbfstool/elogtool: $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700233 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Martin Rothe3e965b2022-02-25 17:28:04 -0700234 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700235
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700236$(objutil)/cbfstool/cse_fpt: $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
237 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
238 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
239
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700240$(objutil)/cbfstool/cse_serger: $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
241 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
242 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
243
Sol Boucher69b88bf2015-02-26 11:47:19 -0800244# Yacc source is superset of header
Kyösti Mälkkic8771492015-05-09 08:06:02 +0300245$(objutil)/cbfstool/fmd.o: TOOLCFLAGS += -Wno-redundant-decls
Sol Boucher69b88bf2015-02-26 11:47:19 -0800246$(objutil)/cbfstool/fmd_parser.o: TOOLCFLAGS += -Wno-redundant-decls
Kyösti Mälkkic8771492015-05-09 08:06:02 +0300247# Lex generates unneeded functions and declarations
248$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-redundant-decls
Sol Boucher69b88bf2015-02-26 11:47:19 -0800249$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-unused-function
Sol Boucher0e539312015-03-05 15:38:03 -0800250# Tolerate lzma sdk warnings
251$(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
Julius Werner4bfbabd2020-05-06 17:27:02 -0700252# Tolerate commonlib warnings
253$(objutil)/cbfstool/cbfs_private.o: TOOLCFLAGS += -Wno-sign-compare
Julius Werner09f29212015-09-29 13:51:35 -0700254# Tolerate lz4 warnings
255$(objutil)/cbfstool/lz4.o: TOOLCFLAGS += -Wno-missing-prototypes
Nico Huber591dbfe2019-12-14 20:44:47 +0100256$(objutil)/cbfstool/lz4_wrapper.o: TOOLCFLAGS += -Wno-attributes
Sol Boucher69b88bf2015-02-26 11:47:19 -0800257
Patrick Georgi7b321452015-05-19 16:43:05 +0200258$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_parser.h
259$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_scanner.h
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300260$(objutil)/cbfstool/fmd_parser.o: $(objutil)/cbfstool/fmd.o
261$(objutil)/cbfstool/fmd_scanner.o: $(objutil)/cbfstool/fmd.o
Patrick Georgi2b807342016-06-28 20:45:34 +0200262$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-sign-compare
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300263
Patrick Georgi7b321452015-05-19 16:43:05 +0200264$(objutil)/cbfstool/%: $(top)/util/cbfstool/%_shipped
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300265 mkdir -p $(dir $@)
266 cp $< $@
267
Sol Boucher69b88bf2015-02-26 11:47:19 -0800268ifeq ($(CONFIG_FMD_GENPARSER),y)
269TOOLLEX := lex
270TOOLYACC := yacc
271
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300272# the .c rule also creates .h
273$(top)/util/cbfstool/fmd_scanner.h_shipped: $(top)/util/cbfstool/fmd_scanner.c_shipped
274$(top)/util/cbfstool/fmd_scanner.c_shipped: $(top)/util/cbfstool/fmd_scanner.l
Sol Boucher69b88bf2015-02-26 11:47:19 -0800275 echo " LEX util/cbfstool/fmd_scanner.[ch]"
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300276 $(TOOLLEX) -t --header-file=$(top)/util/cbfstool/fmd_scanner.h_shipped $< >$(top)/util/cbfstool/fmd_scanner.c_shipped
277
278# the .c rule also creates .h
279$(top)/util/cbfstool/fmd_parser.h_shipped: $(top)/util/cbfstool/fmd_parser.c_shipped
280$(top)/util/cbfstool/fmd_parser.c_shipped: $(top)/util/cbfstool/fmd_parser.y
Sol Boucher69b88bf2015-02-26 11:47:19 -0800281 echo " YACC util/cbfstool/fmd_parser.[ch]"
282 $(TOOLYACC) -d $<
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300283 mv -f y.tab.c $(top)/util/cbfstool/fmd_parser.c_shipped
284 mv -f y.tab.h $(top)/util/cbfstool/fmd_parser.h_shipped
285
286endif # CONFIG_FMD_GENPARSER