xref: /freebsd/lib/liblzma/Makefile (revision 9124ace751eb9c856c50c3698cf93ede45a9897d)
1*9124ace7SLexi WinterPACKAGE=	xz
2*9124ace7SLexi WinterLIB_PACKAGE=
3*9124ace7SLexi Winter
481ad8388SMartin MatuskaLIB=		lzma
561d32473SEnji CooperLZMADIR=	${SRCTOP}/contrib/xz/src/liblzma
681ad8388SMartin Matuska
761d32473SEnji Cooper.PATH: ${LZMADIR:H}/common
853200025SRui PauloSRCS+=	tuklib_physmem.c tuklib_cpucores.c
981ad8388SMartin Matuska
1081ad8388SMartin Matuska.PATH: ${LZMADIR}/api/lzma
1181ad8388SMartin Matuska
1281ad8388SMartin MatuskaMAININCS=	../lzma.h
1381ad8388SMartin MatuskaMAININCSDIR=	${INCLUDEDIR}
1481ad8388SMartin Matuska
1581ad8388SMartin MatuskaLZMAINCS+=	base.h \
1681ad8388SMartin Matuska		bcj.h \
1781ad8388SMartin Matuska		block.h \
1881ad8388SMartin Matuska		check.h \
1981ad8388SMartin Matuska		container.h \
2081ad8388SMartin Matuska		delta.h \
2181ad8388SMartin Matuska		filter.h \
2298be8199SMartin Matuska		hardware.h \
2398be8199SMartin Matuska		index.h \
2481ad8388SMartin Matuska		index_hash.h \
2553200025SRui Paulo		lzma12.h \
2681ad8388SMartin Matuska		stream_flags.h \
2781ad8388SMartin Matuska		version.h \
2881ad8388SMartin Matuska		vli.h
2981ad8388SMartin Matuska
3081ad8388SMartin MatuskaLZMAINCSDIR=	${INCLUDEDIR}/lzma
3181ad8388SMartin Matuska
3281ad8388SMartin MatuskaINCSGROUPS=	MAININCS LZMAINCS
3381ad8388SMartin Matuska
3481ad8388SMartin Matuska.PATH: ${LZMADIR}/common
3581ad8388SMartin MatuskaSRCS+=	common.c \
3681ad8388SMartin Matuska	block_util.c \
3781ad8388SMartin Matuska	easy_preset.c \
3881ad8388SMartin Matuska	filter_common.c \
3981ad8388SMartin Matuska	hardware_physmem.c \
4053200025SRui Paulo	hardware_cputhreads.c \
4181ad8388SMartin Matuska	index.c \
4281ad8388SMartin Matuska	stream_flags_common.c \
4373ed8e77SXin LI	string_conversion.c \
4481ad8388SMartin Matuska	vli_size.c \
4581ad8388SMartin Matuska	alone_encoder.c \
4681ad8388SMartin Matuska	block_buffer_encoder.c \
4781ad8388SMartin Matuska	block_encoder.c \
4881ad8388SMartin Matuska	block_header_encoder.c \
4981ad8388SMartin Matuska	easy_buffer_encoder.c \
5081ad8388SMartin Matuska	easy_encoder.c \
5181ad8388SMartin Matuska	easy_encoder_memusage.c \
5281ad8388SMartin Matuska	filter_buffer_encoder.c \
5381ad8388SMartin Matuska	filter_encoder.c \
5481ad8388SMartin Matuska	filter_flags_encoder.c \
5581ad8388SMartin Matuska	index_encoder.c \
5673ed8e77SXin LI	lzip_decoder.c \
5773ed8e77SXin LI	microlzma_encoder.c \
5873ed8e77SXin LI	microlzma_decoder.c \
5981ad8388SMartin Matuska	stream_buffer_encoder.c \
6081ad8388SMartin Matuska	stream_encoder.c \
6181ad8388SMartin Matuska	stream_flags_encoder.c \
6281ad8388SMartin Matuska	vli_encoder.c \
6381ad8388SMartin Matuska	alone_decoder.c \
6481ad8388SMartin Matuska	auto_decoder.c \
6581ad8388SMartin Matuska	block_buffer_decoder.c \
6681ad8388SMartin Matuska	block_decoder.c \
6781ad8388SMartin Matuska	block_header_decoder.c \
6881ad8388SMartin Matuska	easy_decoder_memusage.c \
6973ed8e77SXin LI	file_info.c \
7081ad8388SMartin Matuska	filter_buffer_decoder.c \
7181ad8388SMartin Matuska	filter_decoder.c \
7281ad8388SMartin Matuska	filter_flags_decoder.c \
7381ad8388SMartin Matuska	index_decoder.c \
7481ad8388SMartin Matuska	index_hash.c \
7581ad8388SMartin Matuska	stream_buffer_decoder.c \
7681ad8388SMartin Matuska	stream_decoder.c \
7773ed8e77SXin LI	stream_decoder_mt.c \
7881ad8388SMartin Matuska	stream_flags_decoder.c \
7953200025SRui Paulo	stream_encoder_mt.c \
8053200025SRui Paulo	vli_decoder.c \
8153200025SRui Paulo	outqueue.c
8253200025SRui Paulo
8381ad8388SMartin Matuska
8481ad8388SMartin Matuska.PATH: ${LZMADIR}/check
8581ad8388SMartin MatuskaSRCS+=	check.c		\
86128836d3SXin LI	crc32_fast.c	\
87128836d3SXin LI	crc64_fast.c
8881ad8388SMartin Matuska.if defined(MACHINE_ARCH) && ${MACHINE_ARCH} == "i386"
8981ad8388SMartin MatuskaSRCS+=	crc32_x86.S \
9081ad8388SMartin Matuska	crc64_x86.S
91152e60f2SDimitry AndricACFLAGS+=	-Wa,--noexecstack
9281ad8388SMartin Matuska.endif
9381ad8388SMartin Matuska
9481ad8388SMartin Matuska.PATH: ${LZMADIR}/lz
9581ad8388SMartin MatuskaSRCS+=	lz_encoder.c \
9681ad8388SMartin Matuska	lz_encoder_mf.c \
9781ad8388SMartin Matuska	lz_decoder.c
9881ad8388SMartin Matuska
9981ad8388SMartin Matuska.PATH: ${LZMADIR}/lzma
10081ad8388SMartin MatuskaSRCS+=	lzma_encoder.c \
10181ad8388SMartin Matuska	lzma_encoder_presets.c \
10281ad8388SMartin Matuska	lzma_encoder_optimum_fast.c \
10381ad8388SMartin Matuska	lzma_encoder_optimum_normal.c \
10481ad8388SMartin Matuska	fastpos_table.c \
10581ad8388SMartin Matuska	lzma_decoder.c \
10681ad8388SMartin Matuska	lzma2_encoder.c \
10781ad8388SMartin Matuska	lzma2_decoder.c
10881ad8388SMartin Matuska
10981ad8388SMartin Matuska.PATH: ${LZMADIR}/rangecoder
11081ad8388SMartin MatuskaSRCS+=	price_table.c
11181ad8388SMartin Matuska
11281ad8388SMartin Matuska.PATH: ${LZMADIR}/delta
11381ad8388SMartin MatuskaSRCS+=	delta_common.c \
11481ad8388SMartin Matuska	delta_encoder.c \
11581ad8388SMartin Matuska	delta_decoder.c
11681ad8388SMartin Matuska
11781ad8388SMartin Matuska.PATH: ${LZMADIR}/simple
11881ad8388SMartin MatuskaSRCS+=	simple_coder.c \
11981ad8388SMartin Matuska	simple_encoder.c \
12081ad8388SMartin Matuska	simple_decoder.c \
12181ad8388SMartin Matuska	x86.c \
12281ad8388SMartin Matuska	powerpc.c \
12381ad8388SMartin Matuska	ia64.c \
12481ad8388SMartin Matuska	arm.c \
12573ed8e77SXin LI	arm64.c \
12681ad8388SMartin Matuska	armthumb.c \
1273b35e7eeSXin LI	riscv.c \
12881ad8388SMartin Matuska	sparc.c
12981ad8388SMartin Matuska
1308606363bSBaptiste Daroussin.PATH: ${LZMADIR}
1318606363bSBaptiste Daroussin
13265422c96SXin LIVERSION_MAJOR!=	sed -n '/define.*LZMA_VERSION_MAJOR/{s,[^0-9.],,gp;q;}' \
1338606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
13465422c96SXin LIVERSION_MINOR!=	sed -n '/define.*LZMA_VERSION_MINOR/{s,[^0-9.],,gp;q;}' \
1358606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
13665422c96SXin LIVERSION_PATCH!=	sed -n '/define.*LZMA_VERSION_PATCH/{s,[^0-9.],,gp;q;}' \
1378606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
1388606363bSBaptiste Daroussin
13981ad8388SMartin MatuskaWARNS?=	3
14081ad8388SMartin Matuska
14181ad8388SMartin MatuskaCFLAGS+=	-DHAVE_CONFIG_H \
142881bfb74SXin LI		-DTUKLIB_SYMBOL_PREFIX=lzma_ \
14381ad8388SMartin Matuska		-I${.CURDIR} \
14481ad8388SMartin Matuska		-I${LZMADIR}/api \
14581ad8388SMartin Matuska		-I${LZMADIR}/common \
14681ad8388SMartin Matuska		-I${LZMADIR}/check \
14781ad8388SMartin Matuska		-I${LZMADIR}/lz \
14881ad8388SMartin Matuska		-I${LZMADIR}/rangecoder \
14981ad8388SMartin Matuska		-I${LZMADIR}/lzma \
15081ad8388SMartin Matuska		-I${LZMADIR}/delta \
15181ad8388SMartin Matuska		-I${LZMADIR}/simple \
15261d32473SEnji Cooper		-I${LZMADIR:H}/common
15381ad8388SMartin Matuska
15465422c96SXin LILIBADD+=	md pthread
15553200025SRui Paulo
156881bfb74SXin LIVERSION_DEF=	${.CURDIR}/Versions.def
157881bfb74SXin LISYMBOL_MAPS=	${.CURDIR}/Symbol.map
158881bfb74SXin LI
1598606363bSBaptiste DaroussinCLEANFILES+=	liblzma.pc
1608606363bSBaptiste Daroussin
161500f4659SEmmanuel VadotPCFILES=	liblzma.pc
162de0e3997SBryan Drewery
1638606363bSBaptiste Daroussinliblzma.pc: liblzma.pc.in
164de0e3997SBryan Drewery	sed -e 's,@prefix@,/usr,g ; \
1658606363bSBaptiste Daroussin		s,@exec_prefix@,/usr,g ; \
166ac175bd3SAlex Richardson		s,@libdir@,${LIBDIR},g ; \
167ac175bd3SAlex Richardson		s,@sharedlibdir@,${SHLIBDIR},g ; \
168ac175bd3SAlex Richardson		s,@includedir@,${INCLUDEDIR},g ; \
16965422c96SXin LI		s,@LIBS@,-pthread -lmd,g ; \
17065422c96SXin LI		s,@PACKAGE_URL@,https://tukaani.org/xz/,g ; \
1718606363bSBaptiste Daroussin		s,@PACKAGE_VERSION@,${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH},g ; \
1728606363bSBaptiste Daroussin		s,@PTHREAD_CFLAGS@,,g ; \
1738606363bSBaptiste Daroussin		s,@PTHREAD_LIBS@,,g' ${.ALLSRC} > ${.TARGET}
1748606363bSBaptiste Daroussin
17581ad8388SMartin Matuska.include <bsd.lib.mk>
176