163dab8eeSAdrian Chadd# 263dab8eeSAdrian Chadd# Makefile 363dab8eeSAdrian Chadd# 463dab8eeSAdrian Chadd# Author: Lasse Collin <lasse.collin@tukaani.org> 563dab8eeSAdrian Chadd# 663dab8eeSAdrian Chadd# This file has been put into the public domain. 763dab8eeSAdrian Chadd# You can do whatever you want with this file. 863dab8eeSAdrian Chadd# 963dab8eeSAdrian Chadd 10*cd3a777bSXin LI# gcc -std=gnu89 is used because Linux uses it. It is fine to omit it as 11*cd3a777bSXin LI# the code is also C99/C11 compatible. With clang you may wish to omit 12*cd3a777bSXin LI# either -std=gnu89 or -pedantic as having both gives quite a few warnings. 1363dab8eeSAdrian ChaddCC = gcc -std=gnu89 1463dab8eeSAdrian ChaddBCJ_CPPFLAGS = -DXZ_DEC_X86 -DXZ_DEC_POWERPC -DXZ_DEC_IA64 \ 1563dab8eeSAdrian Chadd -DXZ_DEC_ARM -DXZ_DEC_ARMTHUMB -DXZ_DEC_SPARC 16*cd3a777bSXin LICPPFLAGS = -DXZ_USE_CRC64 -DXZ_DEC_ANY_CHECK -DXZ_DEC_CONCATENATED 17*cd3a777bSXin LICFLAGS = -ggdb3 -O2 -pedantic -Wall -Wextra -Wno-long-long 1863dab8eeSAdrian ChaddRM = rm -f 1963dab8eeSAdrian ChaddVPATH = ../linux/include/linux ../linux/lib/xz 20f0bd5302SXin LICOMMON_SRCS = xz_crc32.c xz_crc64.c xz_dec_stream.c xz_dec_lzma2.c xz_dec_bcj.c 2163dab8eeSAdrian ChaddCOMMON_OBJS = $(COMMON_SRCS:.c=.o) 2263dab8eeSAdrian ChaddXZMINIDEC_OBJS = xzminidec.o 2363dab8eeSAdrian ChaddBYTETEST_OBJS = bytetest.o 2463dab8eeSAdrian ChaddBUFTEST_OBJS = buftest.o 2563dab8eeSAdrian ChaddBOOTTEST_OBJS = boottest.o 2663dab8eeSAdrian ChaddXZ_HEADERS = xz.h xz_private.h xz_stream.h xz_lzma2.h xz_config.h 2763dab8eeSAdrian ChaddPROGRAMS = xzminidec bytetest buftest boottest 2863dab8eeSAdrian Chadd 2963dab8eeSAdrian ChaddALL_CPPFLAGS = -I../linux/include/linux -I. $(BCJ_CPPFLAGS) $(CPPFLAGS) 3063dab8eeSAdrian Chadd 3163dab8eeSAdrian Chaddall: $(PROGRAMS) 3263dab8eeSAdrian Chadd 3363dab8eeSAdrian Chadd%.o: %.c $(XZ_HEADERS) 3463dab8eeSAdrian Chadd $(CC) $(ALL_CPPFLAGS) $(CFLAGS) -c -o $@ $< 3563dab8eeSAdrian Chadd 3663dab8eeSAdrian Chaddxzminidec: $(COMMON_OBJS) $(XZMINIDEC_OBJS) 3763dab8eeSAdrian Chadd $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(XZMINIDEC_OBJS) 3863dab8eeSAdrian Chadd 3963dab8eeSAdrian Chaddbytetest: $(COMMON_OBJS) $(BYTETEST_OBJS) 4063dab8eeSAdrian Chadd $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(BYTETEST_OBJS) 4163dab8eeSAdrian Chadd 4263dab8eeSAdrian Chaddbuftest: $(COMMON_OBJS) $(BUFTEST_OBJS) 4363dab8eeSAdrian Chadd $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(COMMON_OBJS) $(BUFTEST_OBJS) 4463dab8eeSAdrian Chadd 4563dab8eeSAdrian Chaddboottest: $(BOOTTEST_OBJS) $(COMMON_SRCS) 4663dab8eeSAdrian Chadd $(CC) $(ALL_CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTTEST_OBJS) 4763dab8eeSAdrian Chadd 4863dab8eeSAdrian Chadd.PHONY: clean 4963dab8eeSAdrian Chaddclean: 50*cd3a777bSXin LI -$(RM) $(COMMON_OBJS) $(XZMINIDEC_OBJS) $(BYTETEST_OBJS) \ 51*cd3a777bSXin LI $(BUFTEST_OBJS) $(BOOTTEST_OBJS) $(PROGRAMS) 52