blob: 4f282f9fc10a2c561b43aec538bb7056aa8e9181 [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
7CFLAGS += -Wstrict-aliasing -Werror
Alexandru Gagniucb63b75b2014-01-29 14:56:20 -06008CFLAGS += -Wshadow
Stefan Reinauer3a5c2772009-05-26 12:22:10 +00009
Aaron Durbin4fde5a62014-03-07 15:11:53 -060010CBFSTOOL_BINARY:=$(obj)/cbfstool
Peter Stuge1d862de2009-04-14 00:08:34 +000011
Aaron Durbin4fde5a62014-03-07 15:11:53 -060012CBFSTOOL_COMMON:=cbfstool.o common.o cbfs_image.o compress.o fit.o
13CBFSTOOL_COMMON+=elfheaders.o cbfs-mkstage.o cbfs-mkpayload.o xdr.o
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070014# LZMA
Aaron Durbin4fde5a62014-03-07 15:11:53 -060015CBFSTOOL_COMMON+=lzma/lzma.o
16CBFSTOOL_COMMON+=lzma/C/LzFind.o lzma/C/LzmaDec.o lzma/C/LzmaEnc.o
Peter Stuge1d862de2009-04-14 00:08:34 +000017
Aaron Durbin4fde5a62014-03-07 15:11:53 -060018CBFSTOOL_COMMON+=linux_trampoline.o cbfs-payload-linux.o
Patrick Georgide36d332013-08-27 20:22:21 +020019
Aaron Durbin4fde5a62014-03-07 15:11:53 -060020CBFSTOOL_COMMON:=$(addprefix $(obj)/,$(CBFSTOOL_COMMON))
Peter Stuge1d862de2009-04-14 00:08:34 +000021
Aaron Durbin4fde5a62014-03-07 15:11:53 -060022
23RMODTOOL_BINARY:=$(obj)/rmodtool
24RMODTOOL_COMMON:=rmodtool.o rmodule.o common.o elfheaders.o xdr.o
25
26RMODTOOL_COMMON:=$(addprefix $(obj)/,$(RMODTOOL_COMMON))
27
28all: dep $(CBFSTOOL_BINARY) $(RMODTOOL_BINARY)
Stefan Reinauer746d1742012-08-15 16:02:52 -070029
Patrick Georgib7b56dd82009-09-14 13:29:27 +000030$(obj)/%.o: %.c
Stefan Reinauer9dd27bc2009-06-30 17:13:58 +000031 $(HOSTCC) $(CFLAGS) -c -o $@ $<
Peter Stuge1d862de2009-04-14 00:08:34 +000032
Patrick Georgib7b56dd82009-09-14 13:29:27 +000033clean:
Aaron Durbin4fde5a62014-03-07 15:11:53 -060034 rm -f $(CBFSTOOL_COMMON) $(CBFSTOOL_BINARY)
35 rm -f $(RMODTOOL_COMMON) $(RMODTOOL_BINARY)
Peter Stuge1d862de2009-04-14 00:08:34 +000036
Stefan Reinauer14e22772010-04-27 06:56:47 +000037tags:
Patrick Georgib7b56dd82009-09-14 13:29:27 +000038 ctags *.[ch]
Peter Stuge1d862de2009-04-14 00:08:34 +000039
Aaron Durbin4fde5a62014-03-07 15:11:53 -060040$(obj)/cbfstool:$(CBFSTOOL_COMMON)
41 $(HOSTCC) $(CFLAGS) -o $@ $^
42
43$(obj)/rmodtool:$(RMODTOOL_COMMON)
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070044 $(HOSTCC) $(CFLAGS) -o $@ $^
Stefan Reinauer746d1742012-08-15 16:02:52 -070045
46dep:
47 @$(HOSTCC) $(CFLAGS) -MM *.c > .dependencies
Stefan Reinaueraa3f7ba2013-03-28 16:51:45 -070048 @$(HOSTCC) $(CFLAGS) -MM lzma/*.c >> .dependencies
Stefan Reinauer2e200cd2012-10-30 14:02:45 -070049 @$(HOSTCC) $(CFLAGS) -MM lzma/C/*.c >> .dependencies
Stefan Reinauer746d1742012-08-15 16:02:52 -070050
51-include .dependencies