blob: f3e6c75dced2b2d11922131acbc2f2ed0cbf6911 [file] [log] [blame]
Patrick Georgic88d16b2017-01-11 15:26:58 +01001compressionobj :=
2compressionobj += compress.o
3# LZ4
4compressionobj += lz4.o
5compressionobj += lz4hc.o
6compressionobj += lz4frame.o
7compressionobj += xxhash.o
8compressionobj += lz4_wrapper.o
9# LZMA
10compressionobj += lzma.o
11compressionobj += LzFind.o
12compressionobj += LzmaDec.o
13compressionobj += LzmaEnc.o
14
Patrick Georgi0588d192009-08-12 15:00:51 +000015cbfsobj :=
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070016cbfsobj += cbfstool.o
Patrick Georgib7b56dd82009-09-14 13:29:27 +000017cbfsobj += common.o
Hung-Te Lineab2c812013-01-29 01:56:17 +080018cbfsobj += cbfs_image.o
Patrick Georgib7b56dd82009-09-14 13:29:27 +000019cbfsobj += cbfs-mkstage.o
20cbfsobj += cbfs-mkpayload.o
Ronald G. Minnicha8a133d2013-12-30 13:16:18 -080021cbfsobj += elfheaders.o
Aaron Durbin4be16742015-09-15 17:00:23 -050022cbfsobj += rmodule.o
Ronald G. Minnichaa2f7392013-12-03 11:13:35 -080023cbfsobj += xdr.o
Sol Bouchere3260a02015-03-25 13:40:08 -070024cbfsobj += partitioned_file.o
Julius Werner76dab5f2020-03-19 21:09:35 -070025cbfsobj += platform_fixups.o
Julius Werner09f29212015-09-29 13:51:35 -070026# COMMONLIB
Julius Werner4bfbabd2020-05-06 17:27:02 -070027cbfsobj += cbfs_private.o
Furquan Shaikhb0c2fe02016-05-09 12:23:01 -070028cbfsobj += fsp_relocate.o
Sol Bouchere3260a02015-03-25 13:40:08 -070029# FMAP
30cbfsobj += fmap.o
31cbfsobj += kv_pair.o
32cbfsobj += valstr.o
Patrick Georgide36d332013-08-27 20:22:21 +020033# linux as payload
34cbfsobj += linux_trampoline.o
35cbfsobj += cbfs-payload-linux.o
Patrick Georgic88d16b2017-01-11 15:26:58 +010036# compression algorithms
37cbfsobj += $(compressionobj)
Patrick Georgi0588d192009-08-12 15:00:51 +000038
Sol Boucher69b88bf2015-02-26 11:47:19 -080039fmapobj :=
40fmapobj += fmaptool.o
Sol Boucher023e8292015-03-18 10:13:48 -070041fmapobj += cbfs_sections.o
Sol Boucher69b88bf2015-02-26 11:47:19 -080042fmapobj += fmap_from_fmd.o
43fmapobj += fmd.o
44fmapobj += fmd_parser.o
45fmapobj += fmd_scanner.o
46# FMAP
47fmapobj += fmap.o
48fmapobj += kv_pair.o
49fmapobj += valstr.o
50
Sol Boucher0e539312015-03-05 15:38:03 -080051rmodobj :=
Aaron Durbin4fde5a62014-03-07 15:11:53 -060052rmodobj += rmodtool.o
53rmodobj += rmodule.o
54rmodobj += common.o
55rmodobj += elfheaders.o
56rmodobj += xdr.o
57
Furquan Shaikh233f1b62016-05-19 16:12:16 -070058ifwiobj :=
59ifwiobj += ifwitool.o
60ifwiobj += common.o
61
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +010062ifitobj :=
63ifitobj += ifittool.o
64ifitobj += common.o
65ifitobj += fit.o
66ifitobj += cbfs_image.o
67# Make it link ....
68ifitobj += xdr.o
69ifitobj += elfheaders.o
70ifitobj += partitioned_file.o
71ifitobj += cbfs-mkstage.o
72ifitobj += cbfs-mkpayload.o
73ifitobj += rmodule.o
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +010074# FMAP
75ifitobj += fmap.o
76ifitobj += kv_pair.o
77ifitobj += valstr.o
78# compression algorithms
79ifitobj += $(compressionobj)
80
81
Patrick Georgic88d16b2017-01-11 15:26:58 +010082cbfscompobj :=
83cbfscompobj += $(compressionobj)
84cbfscompobj += cbfscomptool.o
85
Marshall Dawson30cf1552019-03-19 14:48:33 -060086amdcompobj :=
87amdcompobj += amdcompress.o
88amdcompobj += elfheaders.o
89amdcompobj += common.o
90amdcompobj += xdr.o
91
Ricardo Quesadac2cf3942021-07-16 16:49:04 -070092elogobj :=
93elogobj := elogtool.o
94elogobj += eventlog.o
95elogobj += valstr.o
96elogobj += elog.o
97elogobj += common.o
98
Furquan Shaikh796aeeb2021-09-16 22:02:01 -070099include $(top)/util/cbfstool/fpt_formats/Makefile.inc
100cse_fpt_obj :=
101cse_fpt_obj += cse_fpt.o
102cse_fpt_obj += common.o
Furquan Shaikh555f0402021-10-08 15:18:33 -0700103cse_fpt_obj += cse_helpers.o
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700104cse_fpt_obj += $(foreach var, $(fpt_formats_obj), $(var))
105
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700106include $(top)/util/cbfstool/bpdt_formats/Makefile.inc
107cse_serger_obj :=
108cse_serger_obj += cse_serger.o
109cse_serger_obj += common.o
Furquan Shaikh555f0402021-10-08 15:18:33 -0700110cse_serger_obj += cse_helpers.o
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700111cse_serger_obj += $(foreach var, $(bpdt_formats_obj), $(var))
112
Martin Roth92f447a2021-02-14 14:57:06 -0700113TOOLCFLAGS ?= -Werror -Wall -Wextra -Wshadow
Sol Boucher0e539312015-03-05 15:38:03 -0800114TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
115TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
Patrick Georgi8474e7d2017-01-11 17:17:18 +0100116TOOLCFLAGS += -O2
Sol Boucher69b88bf2015-02-26 11:47:19 -0800117TOOLCPPFLAGS ?= -D_DEFAULT_SOURCE # memccpy() from string.h
Julius Wernerd6900a92020-01-29 11:34:44 -0800118TOOLCPPFLAGS += -D_BSD_SOURCE -D_SVID_SOURCE # _DEFAULT_SOURCE for older glibc
Julius Werner4bfbabd2020-05-06 17:27:02 -0700119TOOLCPPFLAGS += -D_GNU_SOURCE # memmem() from string.h
Sol Boucher69b88bf2015-02-26 11:47:19 -0800120TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
Patrick Georgi7b321452015-05-19 16:43:05 +0200121TOOLCPPFLAGS += -I$(top)/util/cbfstool
122TOOLCPPFLAGS += -I$(objutil)/cbfstool
Julius Werner98eeb962019-12-11 15:47:42 -0800123TOOLCPPFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
124TOOLCPPFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
Paul Kocialkowski61486b52016-07-24 12:14:38 +0200125TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/include
126TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/2lib/include
Julius Wernerd4775652020-03-13 16:43:34 -0700127TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/include
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700128TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/host/lib/include
Aaron Durbin8a414a02015-10-01 17:02:45 -0500129# UEFI header file support. It's not pretty, but that's what we currently
130# have right now.
131TOOLCPPFLAGS += -I$(top)/src
132TOOLCPPFLAGS += -I$(top)/src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
133
Paul Menzel6548ae92015-05-03 09:35:32 +0200134TOOLLDFLAGS ?=
Werner Zeh8c3780a2015-10-02 09:56:32 +0200135HOSTCFLAGS += -fms-extensions
Sol Boucher0e539312015-03-05 15:38:03 -0800136
Zheng Baoc31cdd82012-10-22 16:39:24 +0800137ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
Patrick Georgicdeb1c42015-09-16 16:19:26 +0200138TOOLCFLAGS += -mno-ms-bitfields
Zheng Baoc31cdd82012-10-22 16:39:24 +0800139endif
Stefan Reinauer354c11d2015-09-15 17:41:07 -0700140ifeq ($(shell uname -o 2>/dev/null), Cygwin)
Julius Werner3833f0f2019-12-11 22:01:32 -0800141TOOLCFLAGS+=-std=gnu11
Stefan Reinauer354c11d2015-09-15 17:41:07 -0700142TOOLCPPFLAGS+=-D_GNU_SOURCE
143else
Julius Werner3833f0f2019-12-11 22:01:32 -0800144TOOLCFLAGS+=-std=c11
Stefan Reinauer354c11d2015-09-15 17:41:07 -0700145endif
Zheng Baoc31cdd82012-10-22 16:39:24 +0800146
Manoj Guptadfb8d802022-04-27 20:23:11 -0700147LZ4CFLAGS ?= -Wno-strict-prototypes
148
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800149VBOOT_HOSTLIB = $(VBOOT_HOST_BUILD)/libvboot_host.a
150
151$(VBOOT_HOSTLIB):
152 printf " MAKE $(subst $(objutil)/,,$(@))\n"
153 unset CFLAGS LDFLAGS; $(MAKE) -C $(VBOOT_SOURCE) \
154 BUILD=$(VBOOT_HOST_BUILD) \
155 CC="$(HOSTCC)" \
Patrick Georgic6dd4432020-06-29 21:01:44 +0200156 PKG_CONFIG="true" \
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800157 V=$(V) \
Nico Huber6cd4d322021-06-22 14:31:20 +0000158 DEBUG= \
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800159 hostlib
160
Patrick Georgi7b321452015-05-19 16:43:05 +0200161$(objutil)/cbfstool/%.o: $(objutil)/cbfstool/%.c
162 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
163 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
164
Patrick Georgia2acbc72010-04-16 22:48:57 +0000165$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
166 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -0800167 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +0000168
Sol Boucher69b88bf2015-02-26 11:47:19 -0800169$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/flashmap/%.c
170 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
171 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
172
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -0700173$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.c
174 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -0800175 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgib7b56dd82009-09-14 13:29:27 +0000176
Stefan Reinauer2e200cd2012-10-30 14:02:45 -0700177$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
Zheng Baoa182cbd2012-12-14 15:44:59 +0800178 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -0800179 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgib7b56dd82009-09-14 13:29:27 +0000180
Aaron Durbin8a414a02015-10-01 17:02:45 -0500181$(objutil)/cbfstool/%.o: $(top)/src/commonlib/%.c
182 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
183 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
184
Julius Werner98eeb962019-12-11 15:47:42 -0800185$(objutil)/cbfstool/%.o: $(top)/src/commonlib/bsd/%.c
186 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
187 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
188
Julius Werner09f29212015-09-29 13:51:35 -0700189$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lz4/lib/%.c
190 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Manoj Guptadfb8d802022-04-27 20:23:11 -0700191 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) $(LZ4CFLAGS) -c -o $@ $<
Julius Werner09f29212015-09-29 13:51:35 -0700192
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700193$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/fpt_formats/%.c
194 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
195 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
196
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700197$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/bpdt_formats/%.c
198 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
199 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
200
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800201$(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -0700202 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800203 $(HOSTCC) -v $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj)) $(VBOOT_HOSTLIB)
Aaron Durbin4fde5a62014-03-07 15:11:53 -0600204
Sol Boucher69b88bf2015-02-26 11:47:19 -0800205$(objutil)/cbfstool/fmaptool: $(addprefix $(objutil)/cbfstool/,$(fmapobj))
206 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
207 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(fmapobj))
208
Patrick Georgi913e1712014-07-15 12:28:12 +0200209$(objutil)/cbfstool/rmodtool: $(addprefix $(objutil)/cbfstool/,$(rmodobj))
Aaron Durbin4fde5a62014-03-07 15:11:53 -0600210 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Paul Menzel6548ae92015-05-03 09:35:32 +0200211 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(rmodobj))
Sol Boucher0e539312015-03-05 15:38:03 -0800212
Furquan Shaikh233f1b62016-05-19 16:12:16 -0700213$(objutil)/cbfstool/ifwitool: $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
214 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
215 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
216
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800217$(objutil)/cbfstool/ifittool: $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +0100218 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Yu-Ping Wu0beddb52020-03-09 10:58:37 +0800219 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifitobj)) $(VBOOT_HOSTLIB)
Philipp Deppenwiese5ada0022018-11-20 13:54:49 +0100220
Patrick Georgic88d16b2017-01-11 15:26:58 +0100221$(objutil)/cbfstool/cbfs-compression-tool: $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
222 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
223 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
224
Marshall Dawson30cf1552019-03-19 14:48:33 -0600225$(objutil)/cbfstool/amdcompress: $(addprefix $(objutil)/cbfstool/,$(amdcompobj))
226 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
227 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) -lz
228
Martin Rothe3e965b2022-02-25 17:28:04 -0700229$(objutil)/cbfstool/elogtool: $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700230 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Martin Rothe3e965b2022-02-25 17:28:04 -0700231 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB)
Ricardo Quesadac2cf3942021-07-16 16:49:04 -0700232
Furquan Shaikh796aeeb2021-09-16 22:02:01 -0700233$(objutil)/cbfstool/cse_fpt: $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
234 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
235 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj))
236
Furquan Shaikhd7fb6a92021-09-16 22:04:11 -0700237$(objutil)/cbfstool/cse_serger: $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
238 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
239 $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cse_serger_obj))
240
Sol Boucher69b88bf2015-02-26 11:47:19 -0800241# Yacc source is superset of header
Kyösti Mälkkic8771492015-05-09 08:06:02 +0300242$(objutil)/cbfstool/fmd.o: TOOLCFLAGS += -Wno-redundant-decls
Sol Boucher69b88bf2015-02-26 11:47:19 -0800243$(objutil)/cbfstool/fmd_parser.o: TOOLCFLAGS += -Wno-redundant-decls
Kyösti Mälkkic8771492015-05-09 08:06:02 +0300244# Lex generates unneeded functions and declarations
245$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-redundant-decls
Sol Boucher69b88bf2015-02-26 11:47:19 -0800246$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-unused-function
Sol Boucher0e539312015-03-05 15:38:03 -0800247# Tolerate lzma sdk warnings
248$(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
Julius Werner4bfbabd2020-05-06 17:27:02 -0700249# Tolerate commonlib warnings
250$(objutil)/cbfstool/cbfs_private.o: TOOLCFLAGS += -Wno-sign-compare
Julius Werner09f29212015-09-29 13:51:35 -0700251# Tolerate lz4 warnings
252$(objutil)/cbfstool/lz4.o: TOOLCFLAGS += -Wno-missing-prototypes
Nico Huber591dbfe2019-12-14 20:44:47 +0100253$(objutil)/cbfstool/lz4_wrapper.o: TOOLCFLAGS += -Wno-attributes
Sol Boucher69b88bf2015-02-26 11:47:19 -0800254
Patrick Georgi7b321452015-05-19 16:43:05 +0200255$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_parser.h
256$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_scanner.h
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300257$(objutil)/cbfstool/fmd_parser.o: $(objutil)/cbfstool/fmd.o
258$(objutil)/cbfstool/fmd_scanner.o: $(objutil)/cbfstool/fmd.o
Patrick Georgi2b807342016-06-28 20:45:34 +0200259$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-sign-compare
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300260
Patrick Georgi7b321452015-05-19 16:43:05 +0200261$(objutil)/cbfstool/%: $(top)/util/cbfstool/%_shipped
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300262 mkdir -p $(dir $@)
263 cp $< $@
264
Sol Boucher69b88bf2015-02-26 11:47:19 -0800265ifeq ($(CONFIG_FMD_GENPARSER),y)
266TOOLLEX := lex
267TOOLYACC := yacc
268
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300269# the .c rule also creates .h
270$(top)/util/cbfstool/fmd_scanner.h_shipped: $(top)/util/cbfstool/fmd_scanner.c_shipped
271$(top)/util/cbfstool/fmd_scanner.c_shipped: $(top)/util/cbfstool/fmd_scanner.l
Sol Boucher69b88bf2015-02-26 11:47:19 -0800272 echo " LEX util/cbfstool/fmd_scanner.[ch]"
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300273 $(TOOLLEX) -t --header-file=$(top)/util/cbfstool/fmd_scanner.h_shipped $< >$(top)/util/cbfstool/fmd_scanner.c_shipped
274
275# the .c rule also creates .h
276$(top)/util/cbfstool/fmd_parser.h_shipped: $(top)/util/cbfstool/fmd_parser.c_shipped
277$(top)/util/cbfstool/fmd_parser.c_shipped: $(top)/util/cbfstool/fmd_parser.y
Sol Boucher69b88bf2015-02-26 11:47:19 -0800278 echo " YACC util/cbfstool/fmd_parser.[ch]"
279 $(TOOLYACC) -d $<
Kyösti Mälkkid32b2732015-05-15 09:27:34 +0300280 mv -f y.tab.c $(top)/util/cbfstool/fmd_parser.c_shipped
281 mv -f y.tab.h $(top)/util/cbfstool/fmd_parser.h_shipped
282
283endif # CONFIG_FMD_GENPARSER