xref: /netbsd-src/external/public-domain/xz/lib/Makefile (revision 32de5c2ac52c6392ceb05fc74402b286cc1e8fb6)
1# $NetBSD: Makefile,v 1.12 2024/11/22 16:07:10 riastradh Exp $
2
3.include <bsd.init.mk>
4
5LIB=		lzma
6USE_SHLIBDIR=	yes
7NOLINT=		yes
8
9
10.PATH:	${XZSRCDIR}/src/liblzma/api ${XZSRCDIR}/src/liblzma/api/lzma
11INCS+=	base.h bcj.h block.h check.h container.h delta.h \
12	filter.h hardware.h index.h index_hash.h lzma.h lzma12.h \
13	stream_flags.h version.h vli.h
14
15INCSDIR_lzma.h=	/usr/include
16INCSDIR=	/usr/include/lzma
17
18.if ${MKSANITIZER} != "yes"
19LDFLAGS+=	-Wl,-z,defs
20.endif
21
22CFLAGS+=	-fvisibility=hidden
23
24CPPFLAGS+=	-I${XZSRCDIR}/src/common
25CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/check
26CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/common
27CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/delta
28CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/lz
29CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/lzma
30CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/rangecoder
31CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/simple
32CPPFLAGS+=	-DTUKLIB_SYMBOL_PREFIX=lzma_
33CPPFLAGS+=	-DNETBSD_NATIVE_SHA256
34
35.PATH:	${XZSRCDIR}/src/common
36SRCS+=	tuklib_physmem.c tuklib_cpucores.c
37
38.PATH:	${XZSRCDIR}/src/liblzma/check
39SRCS+=	check.c crc32_table.c crc64_table.c
40SRCS+=	crc32_fast.c crc64_fast.c
41
42.if defined(HOSTLIB)
43SRCS+=	sha256.c
44.endif
45
46.PATH:	${XZSRCDIR}/src/liblzma/common
47SRCS+=	common.c block_util.c easy_preset.c filter_common.c \
48	hardware_physmem.c hardware_cputhreads.c index.c \
49	stream_flags_common.c vli_size.c \
50	alone_encoder.c block_buffer_encoder.c block_encoder.c \
51	block_header_encoder.c easy_buffer_encoder.c easy_encoder.c \
52	easy_encoder_memusage.c filter_buffer_encoder.c \
53	filter_encoder.c filter_flags_encoder.c index_encoder.c \
54	stream_buffer_encoder.c stream_encoder.c \
55	stream_flags_encoder.c vli_encoder.c outqueue.c \
56	alone_decoder.c auto_decoder.c block_buffer_decoder.c \
57	block_decoder.c block_header_decoder.c easy_decoder_memusage.c \
58	filter_buffer_decoder.c filter_decoder.c filter_flags_decoder.c \
59	index_decoder.c index_hash.c stream_buffer_decoder.c \
60	stream_decoder.c stream_flags_decoder.c vli_decoder.c
61
62.if !defined(HOSTLIB)
63SRCS+=	 stream_encoder_mt.c
64.endif
65
66.PATH:	${XZSRCDIR}/src/liblzma/delta
67SRCS+=	delta_common.c delta_encoder.c delta_decoder.c
68
69.PATH:	${XZSRCDIR}/src/liblzma/lz
70SRCS+=	lz_decoder.c lz_encoder.c lz_encoder_mf.c
71
72.PATH:	${XZSRCDIR}/src/liblzma/lzma
73SRCS+=	lzma_encoder.c lzma_encoder_presets.c \
74	lzma_encoder_optimum_fast.c lzma_encoder_optimum_normal.c \
75	lzma_decoder.c lzma2_encoder.c lzma2_decoder.c \
76	fastpos_table.c
77
78.PATH:	${XZSRCDIR}/src/liblzma/rangecoder
79SRCS+=	price_table.c
80
81.PATH:	${XZSRCDIR}/src/liblzma/simple
82SRCS+=	simple_coder.c simple_encoder.c simple_decoder.c \
83	arm.c armthumb.c ia64.c powerpc.c sparc.c x86.c
84
85FILES+=			liblzma.pc
86FILESDIR_liblzma.pc=	/usr/lib/pkgconfig
87
88liblzma.pc:	${XZSRCDIR}/src/liblzma/liblzma.pc.in
89	${_MKTARGET_CREATE}
90	rm -f ${.TARGET}
91	${TOOL_SED} \
92	    -e 's,@prefix@,/usr,' \
93	    -e 's,@exec_prefix@,/usr,' \
94	    -e 's,@libdir@,/usr/lib,' \
95	    -e 's,@includedir@,/usr/include,' \
96	    -e 's,@PACKAGE_URL@,${XZHOMEPAGE:Q},' \
97	    -e 's,@PACKAGE_VERSION@,${XZVERSION:Q},' \
98	    -e 's,@PTHREAD_CFLAGS@ @LIBS@,-lpthread,' \
99	    < ${XZSRCDIR}/src/liblzma/liblzma.pc.in \
100	    > ${.TARGET}.tmp && \
101	mv -f ${.TARGET}.tmp ${.TARGET}
102
103.if ${MACHINE_ARCH} == "i386"
104COPTS += ${${ACTIVE_CC} == "gcc":? -Wno-error=psabi :}
105.endif
106
107CLEANFILES+=	liblzma.pc
108
109.if defined(HOSTLIB)
110HOST_CPPFLAGS+=	${CPPFLAGS:N-Wp,-iremap,*}
111.include <bsd.hostlib.mk>
112.else
113LIBDPLIBS+=	pthread ${NETBSDSRCDIR}/lib/libpthread
114.include <bsd.lib.mk>
115.endif
116
117all: liblzma.pc
118dependall: all
119