util/superiotool/smsc.c: Add some register dumps
[coreboot.git] / util / cbfstool / Makefile.inc
blob1787eb14c02d0cc222d4064804874273e985e099
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 += fit.o
25 cbfsobj += partitioned_file.o
26 # COMMONLIB
27 cbfsobj += cbfs.o
28 cbfsobj += fsp_relocate.o
29 cbfsobj += mem_pool.o
30 cbfsobj += region.o
31 # CRYPTOLIB
32 cbfsobj += 2sha_utility.o
33 cbfsobj += 2sha1.o
34 cbfsobj += 2sha256.o
35 cbfsobj += 2sha512.o
36 # FMAP
37 cbfsobj += fmap.o
38 cbfsobj += kv_pair.o
39 cbfsobj += valstr.o
40 # linux as payload
41 cbfsobj += linux_trampoline.o
42 cbfsobj += cbfs-payload-linux.o
43 # compression algorithms
44 cbfsobj += $(compressionobj)
46 fmapobj :=
47 fmapobj += fmaptool.o
48 fmapobj += cbfs_sections.o
49 fmapobj += fmap_from_fmd.o
50 fmapobj += fmd.o
51 fmapobj += fmd_parser.o
52 fmapobj += fmd_scanner.o
53 # FMAP
54 fmapobj += fmap.o
55 fmapobj += kv_pair.o
56 fmapobj += valstr.o
58 rmodobj :=
59 rmodobj += rmodtool.o
60 rmodobj += rmodule.o
61 rmodobj += common.o
62 rmodobj += elfheaders.o
63 rmodobj += xdr.o
65 ifwiobj :=
66 ifwiobj += ifwitool.o
67 ifwiobj += common.o
69 cbfscompobj :=
70 cbfscompobj += $(compressionobj)
71 cbfscompobj += cbfscomptool.o
73 TOOLCFLAGS ?= -Werror -Wall -Wextra
74 TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
75 TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
76 TOOLCFLAGS += -O2
77 TOOLCPPFLAGS ?= -D_DEFAULT_SOURCE # memccpy() from string.h
78 TOOLCPPFLAGS += -D_XOPEN_SOURCE=700 # strdup() from string.h
79 TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
80 TOOLCPPFLAGS += -I$(top)/util/cbfstool
81 TOOLCPPFLAGS += -I$(objutil)/cbfstool
82 TOOLCPPFLAGS += -I$(top)/src/commonlib/include
83 TOOLCPPFLAGS += -include $(top)/src/commonlib/include/commonlib/compiler.h
84 TOOLCPPFLAGS += -DNEED_VB2_SHA_LIBRARY
85 TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/include
86 TOOLCPPFLAGS += -I$(VBOOT_SOURCE)/firmware/2lib/include
87 # UEFI header file support. It's not pretty, but that's what we currently
88 # have right now.
89 TOOLCPPFLAGS += -I$(top)/src
90 TOOLCPPFLAGS += -I$(top)/src/vendorcode/intel/edk2/uefi_2.4/MdePkg/Include
92 TOOLLDFLAGS ?=
93 HOSTCFLAGS += -fms-extensions
95 ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
96 TOOLCFLAGS += -mno-ms-bitfields
97 endif
98 ifeq ($(shell uname -o 2>/dev/null), Cygwin)
99 TOOLCFLAGS+=-std=gnu99
100 TOOLCPPFLAGS+=-D_GNU_SOURCE
101 else
102 TOOLCFLAGS+=-std=c99
103 endif
105 $(objutil)/cbfstool/%.o: $(objutil)/cbfstool/%.c
106         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
107         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
109 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
110         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
111         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
113 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/flashmap/%.c
114         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
115         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
117 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.c
118         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
119         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
121 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
122         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
123         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
125 $(objutil)/cbfstool/%.o: $(VBOOT_SOURCE)/firmware/2lib/%.c
126         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
127         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
129 $(objutil)/cbfstool/%.o: $(top)/src/commonlib/%.c
130         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
131         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
133 $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lz4/lib/%.c
134         printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
135         $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
137 $(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
138         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
139         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
141 $(objutil)/cbfstool/fmaptool: $(addprefix $(objutil)/cbfstool/,$(fmapobj))
142         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
143         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(fmapobj))
145 $(objutil)/cbfstool/rmodtool: $(addprefix $(objutil)/cbfstool/,$(rmodobj))
146         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
147         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(rmodobj))
149 $(objutil)/cbfstool/ifwitool: $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
150         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
151         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(ifwiobj))
153 $(objutil)/cbfstool/cbfs-compression-tool: $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
154         printf "    HOSTCC     $(subst $(objutil)/,,$(@)) (link)\n"
155         $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfscompobj))
157 # Yacc source is superset of header
158 $(objutil)/cbfstool/fmd.o: TOOLCFLAGS += -Wno-redundant-decls
159 $(objutil)/cbfstool/fmd_parser.o: TOOLCFLAGS += -Wno-redundant-decls
160 # Lex generates unneeded functions and declarations
161 $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-redundant-decls
162 $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-unused-function
163 # Tolerate lzma sdk warnings
164 $(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
165 # Tolerate vboot warnings
166 $(objutil)/cbfstool/2sha_utility.o: TOOLCFLAGS += -Wno-sign-compare
167 $(objutil)/cbfstool/2sha1.o: TOOLCFLAGS += -Wno-cast-qual
168 # Tolerate commonlib warnings
169 $(objutil)/cbfstool/region.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
170 $(objutil)/cbfstool/cbfs.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
171 $(objutil)/cbfstool/mem_pool.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
172 # Tolerate lz4 warnings
173 $(objutil)/cbfstool/lz4.o: TOOLCFLAGS += -Wno-missing-prototypes
175 $(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_parser.h
176 $(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_scanner.h
177 $(objutil)/cbfstool/fmd_parser.o: $(objutil)/cbfstool/fmd.o
178 $(objutil)/cbfstool/fmd_scanner.o: $(objutil)/cbfstool/fmd.o
179 $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-sign-compare
181 $(objutil)/cbfstool/%: $(top)/util/cbfstool/%_shipped
182         mkdir -p $(dir $@)
183         cp $< $@
185 ifeq ($(CONFIG_FMD_GENPARSER),y)
186 TOOLLEX := lex
187 TOOLYACC := yacc
189 # the .c rule also creates .h
190 $(top)/util/cbfstool/fmd_scanner.h_shipped: $(top)/util/cbfstool/fmd_scanner.c_shipped
191 $(top)/util/cbfstool/fmd_scanner.c_shipped: $(top)/util/cbfstool/fmd_scanner.l
192         echo "    LEX        util/cbfstool/fmd_scanner.[ch]"
193         $(TOOLLEX) -t --header-file=$(top)/util/cbfstool/fmd_scanner.h_shipped $< >$(top)/util/cbfstool/fmd_scanner.c_shipped
195 # the .c rule also creates .h
196 $(top)/util/cbfstool/fmd_parser.h_shipped: $(top)/util/cbfstool/fmd_parser.c_shipped
197 $(top)/util/cbfstool/fmd_parser.c_shipped: $(top)/util/cbfstool/fmd_parser.y
198         echo "    YACC       util/cbfstool/fmd_parser.[ch]"
199         $(TOOLYACC) -d $<
200         mv -f y.tab.c $(top)/util/cbfstool/fmd_parser.c_shipped
201         mv -f y.tab.h $(top)/util/cbfstool/fmd_parser.h_shipped
203 endif # CONFIG_FMD_GENPARSER