xref: /freebsd/lib/liblzma/Makefile (revision 73ed8e77a79398eb8e7b600a0b67f286e9e5cd53)
181ad8388SMartin Matuska# $FreeBSD$
281ad8388SMartin Matuska
3a70cba95SGlen BarberPACKAGE=lib${LIB}
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 \
43*73ed8e77SXin 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 \
56*73ed8e77SXin LI	lzip_decoder.c \
57*73ed8e77SXin LI	microlzma_encoder.c \
58*73ed8e77SXin 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 \
69*73ed8e77SXin 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 \
77*73ed8e77SXin 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 \
8681ad8388SMartin Matuska	crc32_table.c \
8765422c96SXin LI	crc64_table.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.else
9381ad8388SMartin MatuskaSRCS+=	crc32_fast.c \
9481ad8388SMartin Matuska	crc64_fast.c
9581ad8388SMartin Matuska.endif
9681ad8388SMartin Matuska
9781ad8388SMartin Matuska.PATH: ${LZMADIR}/lz
9881ad8388SMartin MatuskaSRCS+=	lz_encoder.c \
9981ad8388SMartin Matuska	lz_encoder_mf.c \
10081ad8388SMartin Matuska	lz_decoder.c
10181ad8388SMartin Matuska
10281ad8388SMartin Matuska.PATH: ${LZMADIR}/lzma
10381ad8388SMartin MatuskaSRCS+=	lzma_encoder.c \
10481ad8388SMartin Matuska	lzma_encoder_presets.c \
10581ad8388SMartin Matuska	lzma_encoder_optimum_fast.c \
10681ad8388SMartin Matuska	lzma_encoder_optimum_normal.c \
10781ad8388SMartin Matuska	fastpos_table.c \
10881ad8388SMartin Matuska	lzma_decoder.c \
10981ad8388SMartin Matuska	lzma2_encoder.c \
11081ad8388SMartin Matuska	lzma2_decoder.c
11181ad8388SMartin Matuska
11281ad8388SMartin Matuska.PATH: ${LZMADIR}/rangecoder
11381ad8388SMartin MatuskaSRCS+=	price_table.c
11481ad8388SMartin Matuska
11581ad8388SMartin Matuska.PATH: ${LZMADIR}/delta
11681ad8388SMartin MatuskaSRCS+=	delta_common.c \
11781ad8388SMartin Matuska	delta_encoder.c \
11881ad8388SMartin Matuska	delta_decoder.c
11981ad8388SMartin Matuska
12081ad8388SMartin Matuska.PATH: ${LZMADIR}/simple
12181ad8388SMartin MatuskaSRCS+=	simple_coder.c \
12281ad8388SMartin Matuska	simple_encoder.c \
12381ad8388SMartin Matuska	simple_decoder.c \
12481ad8388SMartin Matuska	x86.c \
12581ad8388SMartin Matuska	powerpc.c \
12681ad8388SMartin Matuska	ia64.c \
12781ad8388SMartin Matuska	arm.c \
128*73ed8e77SXin LI	arm64.c \
12981ad8388SMartin Matuska	armthumb.c \
13081ad8388SMartin Matuska	sparc.c
13181ad8388SMartin Matuska
1328606363bSBaptiste Daroussin.PATH: ${LZMADIR}
1338606363bSBaptiste Daroussin
13465422c96SXin LIVERSION_MAJOR!=	sed -n '/define.*LZMA_VERSION_MAJOR/{s,[^0-9.],,gp;q;}' \
1358606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
13665422c96SXin LIVERSION_MINOR!=	sed -n '/define.*LZMA_VERSION_MINOR/{s,[^0-9.],,gp;q;}' \
1378606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
13865422c96SXin LIVERSION_PATCH!=	sed -n '/define.*LZMA_VERSION_PATCH/{s,[^0-9.],,gp;q;}' \
1398606363bSBaptiste Daroussin			${LZMADIR}/api/lzma/version.h
1408606363bSBaptiste Daroussin
14181ad8388SMartin MatuskaWARNS?=	3
14281ad8388SMartin Matuska
14381ad8388SMartin MatuskaCFLAGS+=	-DHAVE_CONFIG_H \
144881bfb74SXin LI		-DTUKLIB_SYMBOL_PREFIX=lzma_ \
14581ad8388SMartin Matuska		-I${.CURDIR} \
14681ad8388SMartin Matuska		-I${LZMADIR}/api \
14781ad8388SMartin Matuska		-I${LZMADIR}/common \
14881ad8388SMartin Matuska		-I${LZMADIR}/check \
14981ad8388SMartin Matuska		-I${LZMADIR}/lz \
15081ad8388SMartin Matuska		-I${LZMADIR}/rangecoder \
15181ad8388SMartin Matuska		-I${LZMADIR}/lzma \
15281ad8388SMartin Matuska		-I${LZMADIR}/delta \
15381ad8388SMartin Matuska		-I${LZMADIR}/simple \
15461d32473SEnji Cooper		-I${LZMADIR:H}/common
15581ad8388SMartin Matuska
15665422c96SXin LILIBADD+=	md pthread
15753200025SRui Paulo
158881bfb74SXin LIVERSION_DEF=	${.CURDIR}/Versions.def
159881bfb74SXin LISYMBOL_MAPS=	${.CURDIR}/Symbol.map
160881bfb74SXin LICFLAGS+=	-DSYMBOL_VERSIONING
161881bfb74SXin LI
1628606363bSBaptiste DaroussinCLEANFILES+=	liblzma.pc
1638606363bSBaptiste Daroussin
164500f4659SEmmanuel VadotPCFILES=	liblzma.pc
165de0e3997SBryan Drewery
1668606363bSBaptiste Daroussinliblzma.pc: liblzma.pc.in
167de0e3997SBryan Drewery	sed -e 's,@prefix@,/usr,g ; \
1688606363bSBaptiste Daroussin		s,@exec_prefix@,/usr,g ; \
169ac175bd3SAlex Richardson		s,@libdir@,${LIBDIR},g ; \
170ac175bd3SAlex Richardson		s,@sharedlibdir@,${SHLIBDIR},g ; \
171ac175bd3SAlex Richardson		s,@includedir@,${INCLUDEDIR},g ; \
17265422c96SXin LI		s,@LIBS@,-pthread -lmd,g ; \
17365422c96SXin LI		s,@PACKAGE_URL@,https://tukaani.org/xz/,g ; \
1748606363bSBaptiste Daroussin		s,@PACKAGE_VERSION@,${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH},g ; \
1758606363bSBaptiste Daroussin		s,@PTHREAD_CFLAGS@,,g ; \
1768606363bSBaptiste Daroussin		s,@PTHREAD_LIBS@,,g' ${.ALLSRC} > ${.TARGET}
1778606363bSBaptiste Daroussin
17881ad8388SMartin Matuska.include <bsd.lib.mk>
179