1PROG= xz 2MAN= xz.1 3 4LINKS= ${BINDIR}/xz ${BINDIR}/unxz 5LINKS+= ${BINDIR}/xz ${BINDIR}/xzcat 6LINKS+= ${BINDIR}/xz ${BINDIR}/lzma 7LINKS+= ${BINDIR}/xz ${BINDIR}/unlzma 8LINKS+= ${BINDIR}/xz ${BINDIR}/lzcat 9MLINKS= xz.1 unxz.1 \ 10 xz.1 xzcat.1 \ 11 xz.1 lzma.1 \ 12 xz.1 unlzma.1 \ 13 xz.1 lzcat.1 14 15XZDIR= ${.CURDIR}/../../contrib/xz/src 16 17.PATH: ${XZDIR}/xz 18SRCS= main.c args.c coder.c file_io.c hardware.c message.c \ 19 mytime.c list.c options.c signals.c suffix.c util.c 20 21.PATH: ${XZDIR}/common 22SRCS+= tuklib_exit.c tuklib_mbstr_fw.c tuklib_mbstr_width.c \ 23 tuklib_open_stdxxx.c tuklib_progname.c 24 25WARNS?= 3 26 27CFLAGS+= -I${XZDIR}/common 28LIBLZMADIR= ${.CURDIR}/../../lib/liblzma 29 30# 31# Use non threaded variant for crunchgen rescue 32.if defined(RESCUE) 33CFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR}/../../lib/liblzma 34DPADD= ${LIBLZMA} 35LDADD= -llzma 36.else 37# NOTE: different config than lib/liblzma/config.h 38CFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR} 39CFLAGS+= -I${LZMADIR}/api -I${LZMADIR}/api/lzma 40LZMADIR= ${XZDIR}/liblzma 41SRCS+= ${XZMT_SRCS} 42FLAGS_GROUPS= threaded 43threaded_FLAGS= -DTUKLIB_SYMBOL_PREFIX=lzma_ -I${LZMADIR}/common 44threaded_FLAGS+=-I${LZMADIR}/check -I${LZMADIR}/lz -I${LZMADIR}/lzma 45threaded_FLAGS+=-I${LZMADIR}/rangecoder -I${LZMADIR}/delta -I${LZMADIR}/simple 46threaded_FLAGS_FILES+= ${XZMT_SRCS} 47.PATH: ${LZMADIR}/common ${LZMADIR}/check ${LZMADIR}/lz ${LZMADIR}/lzma 48.PATH: ${LZMADIR}/rangecoder ${LZMADIR}/delta ${LZMADIR}/simple 49 50DPADD+= ${LIBPTHREAD} 51LDADD+= -lpthread 52.endif 53 54# Subset of liblzma with threading enabled. 55XZMT_SRCS= tuklib_cpucores.c tuklib_physmem.c 56XZMT_SRCS+= hardware_cputhreads.c outqueue.c stream_encoder_mt.c 57XZMT_SRCS+= alone_decoder.c alone_encoder.c block_buffer_encoder.c \ 58 block_header_decoder.c block_header_encoder.c block_decoder.c \ 59 block_encoder.c block_util.c common.c easy_preset.c index.c \ 60 index_decoder.c index_encoder.c index_hash.c 61XZMT_SRCS+= filter_common.c filter_decoder.c filter_encoder.c \ 62 filter_flags_decoder.c filter_flags_encoder.c 63XZMT_SRCS+= stream_flags_common.c hardware_physmem.c stream_decoder.c \ 64 stream_encoder.c stream_flags_decoder.c stream_flags_encoder.c \ 65 vli_decoder.c vli_encoder.c vli_size.c sha256.c 66XZMT_SRCS+= check.c crc32_fast.c crc64_fast.c crc32_table.c crc64_table.c 67XZMT_SRCS+= lz_decoder.c lz_encoder.c lz_encoder_mf.c 68XZMT_SRCS+= fastpos_table.c lzma_decoder.c lzma_encoder.c \ 69 lzma_encoder_presets.c lzma_encoder_optimum_fast.c \ 70 lzma_encoder_optimum_normal.c lzma2_decoder.c lzma2_encoder.c 71XZMT_SRCS+= price_table.c 72XZMT_SRCS+= delta_common.c delta_encoder.c delta_decoder.c 73XZMT_SRCS+= simple_coder.c simple_decoder.c simple_encoder.c \ 74 arm.c armthumb.c ia64.c powerpc.c sparc.c x86.c 75 76.PATH: ${XZDIR}/scripts 77SCRIPTS= xzdiff xzgrep xzless xzmore 78MAN+= ${SCRIPTS:S/$/.1/g} 79PKG_NAME!= grep -w PACKAGE_NAME ${LIBLZMADIR}/config.h | awk -F\" '{print $$2}' 80VERSION!= grep -w VERSION ${LIBLZMADIR}/config.h | awk -F\" '{print $$2}' 81PKG_BUG!= grep -w PACKAGE_BUGREPORT ${LIBLZMADIR}/config.h | awk -F\" '{print $$2}' 82 83${SCRIPTS}: ${.TARGET}.in 84 sed -e s,@POSIX_SHELL@,/bin/sh,g \ 85 -e s,@xz@,xz,g \ 86 -e s,@PACKAGE_NAME@,${PKG_NAME:Q},g \ 87 -e s,@VERSION@,${VERSION:Q},g \ 88 -e s,@PACKAGE_BUGREPORT@,${PKG_BUG:Q},g ${.ALLSRC} > ${.TARGET} 89 90CLEANFILES= ${SCRIPTS} 91LINKS+= ${SCRIPTSDIR}/xzdiff ${SCRIPTSDIR}/xzcmp \ 92 ${SCRIPTSDIR}/xzgrep ${SCRIPTSDIR}/xzegrep \ 93 ${SCRIPTSDIR}/xzgrep ${SCRIPTSDIR}/xzfgrep \ 94 ${SCRIPTSDIR}/xzdiff ${SCRIPTSDIR}/lzdiff \ 95 ${SCRIPTSDIR}/xzdiff ${SCRIPTSDIR}/lzcmp \ 96 ${SCRIPTSDIR}/xzgrep ${SCRIPTSDIR}/lzgrep \ 97 ${SCRIPTSDIR}/xzgrep ${SCRIPTSDIR}/lzegrep \ 98 ${SCRIPTSDIR}/xzgrep ${SCRIPTSDIR}/lzfgrep \ 99 ${SCRIPTSDIR}/xzmore ${SCRIPTSDIR}/lzmore \ 100 ${SCRIPTSDIR}/xzless ${SCRIPTSDIR}/lzless 101MLINKS+=xzdiff.1 xzcmp.1 \ 102 xzgrep.1 xzegrep.1 \ 103 xzgrep.1 xzfgrep.1 \ 104 xzdiff.1 lzdiff.1 \ 105 xzdiff.1 lzcmp.1 \ 106 xzgrep.1 lzgrep.1 \ 107 xzgrep.1 lzegrep.1 \ 108 xzgrep.1 lzfgrep.1 \ 109 xzmore.1 lzmore.1 \ 110 xzless.1 lzless.1 111 112.include <bsd.prog.mk> 113