New cbfstool. Works without mmap or fork/exec and
[coreboot.git] / util / cbfstool / Makefile
1 obj ?= $(shell pwd)
2
3 HOSTCXX ?= g++
4 HOSTCC ?= gcc
5
6 BINARY:=$(obj)/cbfstool
7
8 COMMON:=common.o compress.o minilzma.o
9 COMMON+=LZMAEncoder.o LZInWindow.o
10 COMMON+=RangeCoderBit.o StreamUtils.o
11 COMMON+=OutBuffer.o Alloc.o CRC.o
12 COMMON+=cbfs-mkstage.o cbfs-mkpayload.o cbfstool.o
13
14 COMMON:=$(addprefix $(obj)/,$(COMMON))
15
16 $(obj)/%.o: %.c
17         $(HOSTCC) $(CFLAGS) -c -o $@ $<
18
19 $(obj)/%.o: lzma/%.cc
20         $(HOSTCXX) $(CXXFLAGS) -c -o $@ $<
21
22 $(obj)/%.o: lzma/C/7zip/Compress/LZMA/%.cpp
23         $(HOSTCXX) $(CXXFLAGS) -c -o $@ $<
24
25 $(obj)/%.o: lzma/C/7zip/Compress/LZ/%.cpp
26         $(HOSTCXX) $(CXXFLAGS) -c -o $@ $<
27
28 $(obj)/%.o: lzma/C/7zip/Compress/RangeCoder/%.cpp
29         $(HOSTCXX) $(CXXFLAGS) -c -o $@ $<
30
31 $(obj)/%.o: lzma/C/7zip/Common/%.cpp
32         $(HOSTCXX) $(CXXFLAGS) -c -o $@ $<
33
34 $(obj)/%.o: lzma/C/Common/%.cpp
35         $(HOSTCXX) $(CXXFLAGS) -c -o $@ $<
36
37 all: $(BINARY)
38
39 clean:
40         rm -f $(COMMON) $(BINARY)
41
42 tags: 
43         ctags *.[ch]
44
45 CXXFLAGS=-DCOMPACT -m32
46 CFLAGS=-m32
47 LDFLAGS=-m32
48
49 $(obj)/cbfstool:$(COMMON)
50         $(HOSTCXX) $(LDFLAGS) -o $@ $^
51         strip $@