blob: 05a96ee90a204087f4b21eba997aafa1b0884e74 [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
Ronald G. Minnichaa2f7392013-12-03 11:13:35 -08005CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
6CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs
Stefan Reinauer2dd161f2015-03-04 00:55:03 +01007CFLAGS += -Wstrict-aliasing -Wshadow -Werror
Stefan Reinauer3a5c2772009-05-26 12:22:10 +00008
Aaron Durbin4fde5a62014-03-07 15:11:53 -06009CBFSTOOL_BINARY:=$(obj)/cbfstool
Peter Stuge1d862de2009-04-14 00:08:34 +000010
Aaron Durbin4fde5a62014-03-07 15:11:53 -060011CBFSTOOL_COMMON:=cbfstool.o common.o cbfs_image.o compress.o fit.o
12CBFSTOOL_COMMON+=elfheaders.o cbfs-mkstage.o cbfs-mkpayload.o xdr.o
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070013# LZMA
Aaron Durbin4fde5a62014-03-07 15:11:53 -060014CBFSTOOL_COMMON+=lzma/lzma.o
15CBFSTOOL_COMMON+=lzma/C/LzFind.o lzma/C/LzmaDec.o lzma/C/LzmaEnc.o
Peter Stuge1d862de2009-04-14 00:08:34 +000016
Aaron Durbin4fde5a62014-03-07 15:11:53 -060017CBFSTOOL_COMMON+=linux_trampoline.o cbfs-payload-linux.o
Patrick Georgide36d332013-08-27 20:22:21 +020018
Aaron Durbin4fde5a62014-03-07 15:11:53 -060019CBFSTOOL_COMMON:=$(addprefix $(obj)/,$(CBFSTOOL_COMMON))
Peter Stuge1d862de2009-04-14 00:08:34 +000020
Aaron Durbin4fde5a62014-03-07 15:11:53 -060021
22RMODTOOL_BINARY:=$(obj)/rmodtool
23RMODTOOL_COMMON:=rmodtool.o rmodule.o common.o elfheaders.o xdr.o
24
25RMODTOOL_COMMON:=$(addprefix $(obj)/,$(RMODTOOL_COMMON))
26
27all: dep $(CBFSTOOL_BINARY) $(RMODTOOL_BINARY)
Stefan Reinauer746d1742012-08-15 16:02:52 -070028
Patrick Georgib7b56dd82009-09-14 13:29:27 +000029$(obj)/%.o: %.c
Stefan Reinauer9dd27bc2009-06-30 17:13:58 +000030 $(HOSTCC) $(CFLAGS) -c -o $@ $<
Peter Stuge1d862de2009-04-14 00:08:34 +000031
Patrick Georgib7b56dd82009-09-14 13:29:27 +000032clean:
Aaron Durbin4fde5a62014-03-07 15:11:53 -060033 rm -f $(CBFSTOOL_COMMON) $(CBFSTOOL_BINARY)
34 rm -f $(RMODTOOL_COMMON) $(RMODTOOL_BINARY)
Peter Stuge1d862de2009-04-14 00:08:34 +000035
Stefan Reinauer14e22772010-04-27 06:56:47 +000036tags:
Patrick Georgib7b56dd82009-09-14 13:29:27 +000037 ctags *.[ch]
Peter Stuge1d862de2009-04-14 00:08:34 +000038
Aaron Durbin4fde5a62014-03-07 15:11:53 -060039$(obj)/cbfstool:$(CBFSTOOL_COMMON)
40 $(HOSTCC) $(CFLAGS) -o $@ $^
41
42$(obj)/rmodtool:$(RMODTOOL_COMMON)
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070043 $(HOSTCC) $(CFLAGS) -o $@ $^
Stefan Reinauer746d1742012-08-15 16:02:52 -070044
45dep:
46 @$(HOSTCC) $(CFLAGS) -MM *.c > .dependencies
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070047 @$(HOSTCC) $(CFLAGS) -MM lzma/*.c >> .dependencies
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070048 @$(HOSTCC) $(CFLAGS) -MM lzma/C/*.c >> .dependencies
Stefan Reinauer746d1742012-08-15 16:02:52 -070049
50-include .dependencies