xref: /freebsd/lib/liblzma/Makefile (revision 128836d304d93f2d00eb14069c27089ab46c38d4)
1a70cba95SGlen BarberPACKAGE=lib${LIB}
281ad8388SMartin MatuskaLIB=		lzma
361d32473SEnji CooperLZMADIR=	${SRCTOP}/contrib/xz/src/liblzma
481ad8388SMartin Matuska
561d32473SEnji Cooper.PATH: ${LZMADIR:H}/common
653200025SRui PauloSRCS+=	tuklib_physmem.c tuklib_cpucores.c
781ad8388SMartin Matuska
881ad8388SMartin Matuska.PATH: ${LZMADIR}/api/lzma
981ad8388SMartin Matuska
1081ad8388SMartin MatuskaMAININCS=	../lzma.h
1181ad8388SMartin MatuskaMAININCSDIR=	${INCLUDEDIR}
1281ad8388SMartin Matuska
1381ad8388SMartin MatuskaLZMAINCS+=	base.h \
1481ad8388SMartin Matuska		bcj.h \
1581ad8388SMartin Matuska		block.h \
1681ad8388SMartin Matuska		check.h \
1781ad8388SMartin Matuska		container.h \
1881ad8388SMartin Matuska		delta.h \
1981ad8388SMartin Matuska		filter.h \
2098be8199SMartin Matuska		hardware.h \
2198be8199SMartin Matuska		index.h \
2281ad8388SMartin Matuska		index_hash.h \
2353200025SRui Paulo		lzma12.h \
2481ad8388SMartin Matuska		stream_flags.h \
2581ad8388SMartin Matuska		version.h \
2681ad8388SMartin Matuska		vli.h
2781ad8388SMartin Matuska
2881ad8388SMartin MatuskaLZMAINCSDIR=	${INCLUDEDIR}/lzma
2981ad8388SMartin Matuska
3081ad8388SMartin MatuskaINCSGROUPS=	MAININCS LZMAINCS
3181ad8388SMartin Matuska
3281ad8388SMartin Matuska.PATH: ${LZMADIR}/common
3381ad8388SMartin MatuskaSRCS+=	common.c \
3481ad8388SMartin Matuska	block_util.c \
3581ad8388SMartin Matuska	easy_preset.c \
3681ad8388SMartin Matuska	filter_common.c \
3781ad8388SMartin Matuska	hardware_physmem.c \
3853200025SRui Paulo	hardware_cputhreads.c \
3981ad8388SMartin Matuska	index.c \
4081ad8388SMartin Matuska	stream_flags_common.c \
4173ed8e77SXin LI	string_conversion.c \
4281ad8388SMartin Matuska	vli_size.c \
4381ad8388SMartin Matuska	alone_encoder.c \
4481ad8388SMartin Matuska	block_buffer_encoder.c \
4581ad8388SMartin Matuska	block_encoder.c \
4681ad8388SMartin Matuska	block_header_encoder.c \
4781ad8388SMartin Matuska	easy_buffer_encoder.c \
4881ad8388SMartin Matuska	easy_encoder.c \
4981ad8388SMartin Matuska	easy_encoder_memusage.c \
5081ad8388SMartin Matuska	filter_buffer_encoder.c \
5181ad8388SMartin Matuska	filter_encoder.c \
5281ad8388SMartin Matuska	filter_flags_encoder.c \
5381ad8388SMartin Matuska	index_encoder.c \
5473ed8e77SXin LI	lzip_decoder.c \
5573ed8e77SXin LI	microlzma_encoder.c \
5673ed8e77SXin LI	microlzma_decoder.c \
5781ad8388SMartin Matuska	stream_buffer_encoder.c \
5881ad8388SMartin Matuska	stream_encoder.c \
5981ad8388SMartin Matuska	stream_flags_encoder.c \
6081ad8388SMartin Matuska	vli_encoder.c \
6181ad8388SMartin Matuska	alone_decoder.c \
6281ad8388SMartin Matuska	auto_decoder.c \
6381ad8388SMartin Matuska	block_buffer_decoder.c \
6481ad8388SMartin Matuska	block_decoder.c \
6581ad8388SMartin Matuska	block_header_decoder.c \
6681ad8388SMartin Matuska	easy_decoder_memusage.c \
6773ed8e77SXin LI	file_info.c \
6881ad8388SMartin Matuska	filter_buffer_decoder.c \
6981ad8388SMartin Matuska	filter_decoder.c \
7081ad8388SMartin Matuska	filter_flags_decoder.c \
7181ad8388SMartin Matuska	index_decoder.c \
7281ad8388SMartin Matuska	index_hash.c \
7381ad8388SMartin Matuska	stream_buffer_decoder.c \
7481ad8388SMartin Matuska	stream_decoder.c \
7573ed8e77SXin LI	stream_decoder_mt.c \
7681ad8388SMartin Matuska	stream_flags_decoder.c \
7753200025SRui Paulo	stream_encoder_mt.c \
7853200025SRui Paulo	vli_decoder.c \
7953200025SRui Paulo	outqueue.c
8053200025SRui Paulo
8181ad8388SMartin Matuska
8281ad8388SMartin Matuska.PATH: ${LZMADIR}/check
8381ad8388SMartin MatuskaSRCS+=	check.c		\
84*128836d3SXin LI	crc32_fast.c	\
85*128836d3SXin LI	crc64_fast.c
8681ad8388SMartin Matuska.if defined(MACHINE_ARCH) && ${MACHINE_ARCH} == "i386"
8781ad8388SMartin MatuskaSRCS+=	crc32_x86.S \
8881ad8388SMartin Matuska	crc64_x86.S
89152e60f2SDimitry AndricACFLAGS+=	-Wa,--noexecstack
9081ad8388SMartin Matuska.endif
9181ad8388SMartin Matuska
9281ad8388SMartin Matuska.PATH: ${LZMADIR}/lz
9381ad8388SMartin MatuskaSRCS+=	lz_encoder.c \
9481ad8388SMartin Matuska	lz_encoder_mf.c \
9581ad8388SMartin Matuska	lz_decoder.c
9681ad8388SMartin Matuska
9781ad8388SMartin Matuska.PATH: ${LZMADIR}/lzma
9881ad8388SMartin MatuskaSRCS+=	lzma_encoder.c \
9981ad8388SMartin Matuska	lzma_encoder_presets.c \
10081ad8388SMartin Matuska	lzma_encoder_optimum_fast.c \
10181ad8388SMartin Matuska	lzma_encoder_optimum_normal.c \
10281ad8388SMartin Matuska	fastpos_table.c \
10381ad8388SMartin Matuska	lzma_decoder.c \
10481ad8388SMartin Matuska	lzma2_encoder.c \
10581ad8388SMartin Matuska	lzma2_decoder.c
10681ad8388SMartin Matuska
10781ad8388SMartin Matuska.PATH: ${LZMADIR}/rangecoder
10881ad8388SMartin MatuskaSRCS+=	price_table.c
10981ad8388SMartin Matuska
11081ad8388SMartin Matuska.PATH: ${LZMADIR}/delta
11181ad8388SMartin MatuskaSRCS+=	delta_common.c \
11281ad8388SMartin Matuska	delta_encoder.c \
11381ad8388SMartin Matuska	delta_decoder.c
11481ad8388SMartin Matuska
11581ad8388SMartin Matuska.PATH: ${LZMADIR}/simple
11681ad8388SMartin MatuskaSRCS+=	simple_coder.c \
11781ad8388SMartin Matuska	simple_encoder.c \
11881ad8388SMartin Matuska	simple_decoder.c \
11981ad8388SMartin Matuska	x86.c \
12081ad8388SMartin Matuska	powerpc.c \
12181ad8388SMartin Matuska	ia64.c \
12281ad8388SMartin Matuska	arm.c \
12373ed8e77SXin LI	arm64.c \
12481ad8388SMartin Matuska	armthumb.c \
1253b35e7eeSXin LI	riscv.c \
12681ad8388SMartin Matuska	sparc.c
12781ad8388SMartin Matuska
1288606363bSBaptiste Daroussin.PATH: ${LZMADIR}
1298606363bSBaptiste Daroussin
13065422c96SXin LIVERSION_MAJOR!=	sed -n '/define.*LZMA_VERSION_MAJOR/{s,[^0-9.],,gp;q;}' \
1318606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
13265422c96SXin LIVERSION_MINOR!=	sed -n '/define.*LZMA_VERSION_MINOR/{s,[^0-9.],,gp;q;}' \
1338606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
13465422c96SXin LIVERSION_PATCH!=	sed -n '/define.*LZMA_VERSION_PATCH/{s,[^0-9.],,gp;q;}' \
1358606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
1368606363bSBaptiste Daroussin
13781ad8388SMartin MatuskaWARNS?=	3
13881ad8388SMartin Matuska
13981ad8388SMartin MatuskaCFLAGS+=	-DHAVE_CONFIG_H \
140881bfb74SXin LI		-DTUKLIB_SYMBOL_PREFIX=lzma_ \
14181ad8388SMartin Matuska		-I${.CURDIR} \
14281ad8388SMartin Matuska		-I${LZMADIR}/api \
14381ad8388SMartin Matuska		-I${LZMADIR}/common \
14481ad8388SMartin Matuska		-I${LZMADIR}/check \
14581ad8388SMartin Matuska		-I${LZMADIR}/lz \
14681ad8388SMartin Matuska		-I${LZMADIR}/rangecoder \
14781ad8388SMartin Matuska		-I${LZMADIR}/lzma \
14881ad8388SMartin Matuska		-I${LZMADIR}/delta \
14981ad8388SMartin Matuska		-I${LZMADIR}/simple \
15061d32473SEnji Cooper		-I${LZMADIR:H}/common
15181ad8388SMartin Matuska
15265422c96SXin LILIBADD+=	md pthread
15353200025SRui Paulo
154881bfb74SXin LIVERSION_DEF=	${.CURDIR}/Versions.def
155881bfb74SXin LISYMBOL_MAPS=	${.CURDIR}/Symbol.map
156881bfb74SXin LI
1578606363bSBaptiste DaroussinCLEANFILES+=	liblzma.pc
1588606363bSBaptiste Daroussin
159500f4659SEmmanuel VadotPCFILES=	liblzma.pc
160de0e3997SBryan Drewery
1618606363bSBaptiste Daroussinliblzma.pc: liblzma.pc.in
162de0e3997SBryan Drewery	sed -e 's,@prefix@,/usr,g ; \
1638606363bSBaptiste Daroussin		s,@exec_prefix@,/usr,g ; \
164ac175bd3SAlex Richardson		s,@libdir@,${LIBDIR},g ; \
165ac175bd3SAlex Richardson		s,@sharedlibdir@,${SHLIBDIR},g ; \
166ac175bd3SAlex Richardson		s,@includedir@,${INCLUDEDIR},g ; \
16765422c96SXin LI		s,@LIBS@,-pthread -lmd,g ; \
16865422c96SXin LI		s,@PACKAGE_URL@,https://tukaani.org/xz/,g ; \
1698606363bSBaptiste Daroussin		s,@PACKAGE_VERSION@,${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH},g ; \
1708606363bSBaptiste Daroussin		s,@PTHREAD_CFLAGS@,,g ; \
1718606363bSBaptiste Daroussin		s,@PTHREAD_LIBS@,,g' ${.ALLSRC} > ${.TARGET}
1728606363bSBaptiste Daroussin
17381ad8388SMartin Matuska.include <bsd.lib.mk>
174