1*a9643ea8Slogwang#
2*a9643ea8Slogwang# Makefile
3*a9643ea8Slogwang#
4*a9643ea8Slogwang# Author: Lasse Collin <[email protected]>
5*a9643ea8Slogwang#
6*a9643ea8Slogwang# This file has been put into the public domain.
7*a9643ea8Slogwang# You can do whatever you want with this file.
8*a9643ea8Slogwang#
9*a9643ea8Slogwang
10*a9643ea8SlogwangCC = gcc -std=gnu89
11*a9643ea8SlogwangBCJ_CPPFLAGS = -DXZ_DEC_X86 -DXZ_DEC_POWERPC -DXZ_DEC_IA64 \
12*a9643ea8Slogwang		-DXZ_DEC_ARM -DXZ_DEC_ARMTHUMB -DXZ_DEC_SPARC
13*a9643ea8SlogwangCPPFLAGS = -DXZ_USE_CRC64 -DXZ_DEC_ANY_CHECK
14*a9643ea8SlogwangCFLAGS = -ggdb3 -O2 -pedantic -Wall -Wextra
15*a9643ea8SlogwangRM = rm -f
16*a9643ea8SlogwangVPATH = ../linux/include/linux ../linux/lib/xz
17*a9643ea8SlogwangCOMMON_SRCS = xz_crc32.c xz_crc64.c xz_dec_stream.c xz_dec_lzma2.c xz_dec_bcj.c
18*a9643ea8SlogwangCOMMON_OBJS = $(COMMON_SRCS:.c=.o)
19*a9643ea8SlogwangXZMINIDEC_OBJS = xzminidec.o
20*a9643ea8SlogwangBYTETEST_OBJS = bytetest.o
21*a9643ea8SlogwangBUFTEST_OBJS = buftest.o
22*a9643ea8SlogwangBOOTTEST_OBJS = boottest.o
23*a9643ea8SlogwangXZ_HEADERS = xz.h xz_private.h xz_stream.h xz_lzma2.h xz_config.h
24*a9643ea8SlogwangPROGRAMS = xzminidec bytetest buftest boottest
25*a9643ea8Slogwang
26*a9643ea8SlogwangALL_CPPFLAGS = -I../linux/include/linux -I. $(BCJ_CPPFLAGS) $(CPPFLAGS)
27*a9643ea8Slogwang
28*a9643ea8Slogwangall: $(PROGRAMS)
29*a9643ea8Slogwang
30*a9643ea8Slogwang%.o: %.c $(XZ_HEADERS)
31*a9643ea8Slogwang	$(CC) $(ALL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
32*a9643ea8Slogwang
33*a9643ea8Slogwangxzminidec: $(COMMON_OBJS) $(XZMINIDEC_OBJS)
34*a9643ea8Slogwang	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(XZMINIDEC_OBJS)
35*a9643ea8Slogwang
36*a9643ea8Slogwangbytetest: $(COMMON_OBJS) $(BYTETEST_OBJS)
37*a9643ea8Slogwang	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(BYTETEST_OBJS)
38*a9643ea8Slogwang
39*a9643ea8Slogwangbuftest: $(COMMON_OBJS) $(BUFTEST_OBJS)
40*a9643ea8Slogwang	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(BUFTEST_OBJS)
41*a9643ea8Slogwang
42*a9643ea8Slogwangboottest: $(BOOTTEST_OBJS) $(COMMON_SRCS)
43*a9643ea8Slogwang	$(CC) $(ALL_CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTTEST_OBJS)
44*a9643ea8Slogwang
45*a9643ea8Slogwang.PHONY: clean
46*a9643ea8Slogwangclean:
47*a9643ea8Slogwang	-$(RM) $(COMMON_OBJS) $(XZMINIDEC_OBJS) $(BUFTEST_OBJS) \
48*a9643ea8Slogwang		$(BOOTTEST_OBJS) $(PROGRAMS)
49