blob: a846e9959cf21e4217d132b234fd44e06a8d18d0 [file] [log] [blame]
Patrick Georgi0588d192009-08-12 15:00:51 +00001cbfsobj :=
Stefan Reinauer2e200cd2012-10-30 14:02:45 -07002cbfsobj += cbfstool.o
Patrick Georgib7b56dd82009-09-14 13:29:27 +00003cbfsobj += common.o
4cbfsobj += compress.o
Hung-Te Lineab2c812013-01-29 01:56:17 +08005cbfsobj += cbfs_image.o
Patrick Georgib7b56dd82009-09-14 13:29:27 +00006cbfsobj += cbfs-mkstage.o
7cbfsobj += cbfs-mkpayload.o
Ronald G. Minnicha8a133d2013-12-30 13:16:18 -08008cbfsobj += elfheaders.o
Ronald G. Minnichaa2f7392013-12-03 11:13:35 -08009cbfsobj += xdr.o
Aaron Durbin6b0d0d62012-12-14 17:16:21 -060010cbfsobj += fit.o
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070011# LZMA
12cbfsobj += lzma.o
13cbfsobj += LzFind.o
14cbfsobj += LzmaDec.o
15cbfsobj += LzmaEnc.o
Patrick Georgide36d332013-08-27 20:22:21 +020016# linux as payload
17cbfsobj += linux_trampoline.o
18cbfsobj += cbfs-payload-linux.o
Patrick Georgi0588d192009-08-12 15:00:51 +000019
Sol Boucher0e539312015-03-05 15:38:03 -080020rmodobj :=
Aaron Durbin4fde5a62014-03-07 15:11:53 -060021rmodobj += rmodtool.o
22rmodobj += rmodule.o
23rmodobj += common.o
24rmodobj += elfheaders.o
25rmodobj += xdr.o
26
Sol Boucher0e539312015-03-05 15:38:03 -080027TOOLCFLAGS ?= -std=c99 -Werror -Wall -Wextra
28TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
29TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
30TOOLCPPFLAGS ?= -D_POSIX_C_SOURCE=200809L # strdup() from string.h
31TOOLLINKFLAGS ?=
32
Zheng Baoc31cdd82012-10-22 16:39:24 +080033ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
Aaron Durbin4fde5a62014-03-07 15:11:53 -060034TOOLFLAGS+=-mno-ms-bitfields
Zheng Baoc31cdd82012-10-22 16:39:24 +080035endif
36
Patrick Georgia2acbc72010-04-16 22:48:57 +000037$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
38 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -080039 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgi0588d192009-08-12 15:00:51 +000040
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070041$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.c
42 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -080043 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgib7b56dd82009-09-14 13:29:27 +000044
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070045$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
Zheng Baoa182cbd2012-12-14 15:44:59 +080046 printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
Sol Boucher0e539312015-03-05 15:38:03 -080047 $(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
Patrick Georgib7b56dd82009-09-14 13:29:27 +000048
Patrick Georgi913e1712014-07-15 12:28:12 +020049$(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070050 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Sol Boucher0e539312015-03-05 15:38:03 -080051 $(HOSTCC) $(TOOLLINKFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
Aaron Durbin4fde5a62014-03-07 15:11:53 -060052
Patrick Georgi913e1712014-07-15 12:28:12 +020053$(objutil)/cbfstool/rmodtool: $(addprefix $(objutil)/cbfstool/,$(rmodobj))
Aaron Durbin4fde5a62014-03-07 15:11:53 -060054 printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
Sol Boucher0e539312015-03-05 15:38:03 -080055 $(HOSTCC) $(TOOLLINKFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(rmodobj))
56
57# Tolerate lzma sdk warnings
58$(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual