1229159Sadrian#
2229159Sadrian# Makefile
3229159Sadrian#
4229159Sadrian# Author: Lasse Collin <lasse.collin@tukaani.org>
5229159Sadrian#
6229159Sadrian# This file has been put into the public domain.
7229159Sadrian# You can do whatever you want with this file.
8229159Sadrian#
9229159Sadrian
10229159SadrianCC = gcc -std=gnu89
11229159SadrianBCJ_CPPFLAGS = -DXZ_DEC_X86 -DXZ_DEC_POWERPC -DXZ_DEC_IA64 \
12229159Sadrian		-DXZ_DEC_ARM -DXZ_DEC_ARMTHUMB -DXZ_DEC_SPARC
13229159SadrianCPPFLAGS = -DXZ_DEC_ANY_CHECK
14229159SadrianCFLAGS = -ggdb3 -O2 -pedantic -Wall -Wextra
15229159SadrianRM = rm -f
16229159SadrianVPATH = ../linux/include/linux ../linux/lib/xz
17229159SadrianCOMMON_SRCS = xz_crc32.c xz_dec_stream.c xz_dec_lzma2.c xz_dec_bcj.c
18229159SadrianCOMMON_OBJS = $(COMMON_SRCS:.c=.o)
19229159SadrianXZMINIDEC_OBJS = xzminidec.o
20229159SadrianBYTETEST_OBJS = bytetest.o
21229159SadrianBUFTEST_OBJS = buftest.o
22229159SadrianBOOTTEST_OBJS = boottest.o
23229159SadrianXZ_HEADERS = xz.h xz_private.h xz_stream.h xz_lzma2.h xz_config.h
24229159SadrianPROGRAMS = xzminidec bytetest buftest boottest
25229159Sadrian
26229159SadrianALL_CPPFLAGS = -I../linux/include/linux -I. $(BCJ_CPPFLAGS) $(CPPFLAGS)
27229159Sadrian
28229159Sadrianall: $(PROGRAMS)
29229159Sadrian
30229159Sadrian%.o: %.c $(XZ_HEADERS)
31229159Sadrian	$(CC) $(ALL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
32229159Sadrian
33229159Sadrianxzminidec: $(COMMON_OBJS) $(XZMINIDEC_OBJS)
34229159Sadrian	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(XZMINIDEC_OBJS)
35229159Sadrian
36229159Sadrianbytetest: $(COMMON_OBJS) $(BYTETEST_OBJS)
37229159Sadrian	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(BYTETEST_OBJS)
38229159Sadrian
39229159Sadrianbuftest: $(COMMON_OBJS) $(BUFTEST_OBJS)
40229159Sadrian	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(BUFTEST_OBJS)
41229159Sadrian
42229159Sadrianboottest: $(BOOTTEST_OBJS) $(COMMON_SRCS)
43229159Sadrian	$(CC) $(ALL_CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTTEST_OBJS)
44229159Sadrian
45229159Sadrian.PHONY: clean
46229159Sadrianclean:
47229159Sadrian	-$(RM) $(COMMON_OBJS) $(XZMINIDEC_OBJS) $(BUFTEST_OBJS) \
48229159Sadrian		$(BOOTTEST_OBJS) $(PROGRAMS)
49