blob: b5f74b80bb8ee40863788cd165dc65bbfe02ed1a [file] [log] [blame]
Peter Stuge1d862de2009-04-14 00:08:34 +00001obj ?= $(shell pwd)
2
Alexandru Gagniuc4a7b1152014-01-27 17:17:29 -06003HOSTCC ?= $(CC)
Ronald G. Minnichaa2f7392013-12-03 11:13:35 -08004CFLAGS ?= -g
5CFLAGS += -D_7ZIP_ST
6CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
7CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs
8CFLAGS += -Wstrict-aliasing -Werror
9# You're going to have to fix the LzmaEnc.c first -- it's horrible.
10# CFLAGS += -Wshadow
11LDFLAGS += -g
Stefan Reinauer3a5c2772009-05-26 12:22:10 +000012
Patrick Georgib7b56dd82009-09-14 13:29:27 +000013BINARY:=$(obj)/cbfstool
Peter Stuge1d862de2009-04-14 00:08:34 +000014
Aaron Durbin6b0d0d62012-12-14 17:16:21 -060015COMMON:=cbfstool.o common.o cbfs_image.o compress.o fit.o
Ronald G. Minnichaa2f7392013-12-03 11:13:35 -080016COMMON+=cbfs-mkstage.o cbfs-mkpayload.o xdr.o
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070017# LZMA
18COMMON+=lzma/lzma.o
19COMMON+=lzma/C/LzFind.o lzma/C/LzmaDec.o lzma/C/LzmaEnc.o
Peter Stuge1d862de2009-04-14 00:08:34 +000020
Patrick Georgide36d332013-08-27 20:22:21 +020021COMMON+=linux_trampoline.o cbfs-payload-linux.o
22
Patrick Georgib7b56dd82009-09-14 13:29:27 +000023COMMON:=$(addprefix $(obj)/,$(COMMON))
Peter Stuge1d862de2009-04-14 00:08:34 +000024
Stefan Reinauer746d1742012-08-15 16:02:52 -070025all: dep $(BINARY)
26
Patrick Georgib7b56dd82009-09-14 13:29:27 +000027$(obj)/%.o: %.c
Stefan Reinauer9dd27bc2009-06-30 17:13:58 +000028 $(HOSTCC) $(CFLAGS) -c -o $@ $<
Peter Stuge1d862de2009-04-14 00:08:34 +000029
Patrick Georgib7b56dd82009-09-14 13:29:27 +000030clean:
31 rm -f $(COMMON) $(BINARY)
Peter Stuge1d862de2009-04-14 00:08:34 +000032
Stefan Reinauer14e22772010-04-27 06:56:47 +000033tags:
Patrick Georgib7b56dd82009-09-14 13:29:27 +000034 ctags *.[ch]
Peter Stuge1d862de2009-04-14 00:08:34 +000035
Patrick Georgib7b56dd82009-09-14 13:29:27 +000036$(obj)/cbfstool:$(COMMON)
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070037 $(HOSTCC) $(CFLAGS) -o $@ $^
Stefan Reinauer746d1742012-08-15 16:02:52 -070038
39dep:
40 @$(HOSTCC) $(CFLAGS) -MM *.c > .dependencies
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070041 @$(HOSTCC) $(CFLAGS) -MM lzma/*.c >> .dependencies
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070042 @$(HOSTCC) $(CFLAGS) -MM lzma/C/*.c >> .dependencies
Stefan Reinauer746d1742012-08-15 16:02:52 -070043
44-include .dependencies