xref: /netbsd-src/external/public-domain/xz/lib/Makefile (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1# $NetBSD: Makefile,v 1.10 2018/09/25 05:42:08 joerg 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
22CPPFLAGS+=	-I${XZSRCDIR}/src/common
23CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/check
24CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/common
25CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/delta
26CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/lz
27CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/lzma
28CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/rangecoder
29CPPFLAGS+=	-I${XZSRCDIR}/src/liblzma/simple
30CPPFLAGS+=	-DTUKLIB_SYMBOL_PREFIX=lzma_
31CPPFLAGS+=	-DNETBSD_NATIVE_SHA256
32
33.PATH:	${XZSRCDIR}/src/common
34SRCS+=	tuklib_physmem.c tuklib_cpucores.c
35
36.PATH:	${XZSRCDIR}/src/liblzma/check
37SRCS+=	check.c crc32_table.c crc64_table.c
38SRCS+=	crc32_fast.c crc64_fast.c
39
40.if defined(HOSTLIB)
41SRCS+=	sha256.c
42.endif
43
44.PATH:	${XZSRCDIR}/src/liblzma/common
45SRCS+=	common.c block_util.c easy_preset.c filter_common.c \
46	hardware_physmem.c hardware_cputhreads.c index.c \
47	stream_flags_common.c vli_size.c \
48	alone_encoder.c block_buffer_encoder.c block_encoder.c \
49	block_header_encoder.c easy_buffer_encoder.c easy_encoder.c \
50	easy_encoder_memusage.c filter_buffer_encoder.c \
51	filter_encoder.c filter_flags_encoder.c index_encoder.c \
52	stream_buffer_encoder.c stream_encoder.c \
53	stream_flags_encoder.c vli_encoder.c outqueue.c \
54	alone_decoder.c auto_decoder.c block_buffer_decoder.c \
55	block_decoder.c block_header_decoder.c easy_decoder_memusage.c \
56	filter_buffer_decoder.c filter_decoder.c filter_flags_decoder.c \
57	index_decoder.c index_hash.c stream_buffer_decoder.c \
58	stream_decoder.c stream_flags_decoder.c vli_decoder.c
59
60.if !defined(HOSTLIB)
61SRCS+=	 stream_encoder_mt.c
62.endif
63
64.PATH:	${XZSRCDIR}/src/liblzma/delta
65SRCS+=	delta_common.c delta_encoder.c delta_decoder.c
66
67.PATH:	${XZSRCDIR}/src/liblzma/lz
68SRCS+=	lz_decoder.c lz_encoder.c lz_encoder_mf.c
69
70.PATH:	${XZSRCDIR}/src/liblzma/lzma
71SRCS+=	lzma_encoder.c lzma_encoder_presets.c \
72	lzma_encoder_optimum_fast.c lzma_encoder_optimum_normal.c \
73	lzma_decoder.c lzma2_encoder.c lzma2_decoder.c \
74	fastpos_table.c
75
76.PATH:	${XZSRCDIR}/src/liblzma/rangecoder
77SRCS+=	price_table.c
78
79.PATH:	${XZSRCDIR}/src/liblzma/simple
80SRCS+=	simple_coder.c simple_encoder.c simple_decoder.c \
81	arm.c armthumb.c ia64.c powerpc.c sparc.c x86.c
82
83liblzma.pc:	${XZSRCDIR}/src/liblzma/liblzma.pc.in
84	${_MKTARGET_CREATE}
85	rm -f ${.TARGET}
86	${TOOL_SED} \
87	    -e 's,@prefix@,/usr,' \
88	    -e 's,@exec_prefix@,/usr,' \
89	    -e 's,@libdir@,/usr/lib,' \
90	    -e 's,@includedir@,/usr/include,' \
91	    -e 's,@PACKAGE_HOMEPAGE@,${XZHOMEPAGE:Q},' \
92	    -e 's,@PACKAGE_VERSION@,${XZVERSION:Q},' \
93	    -e 's,@PTHREAD_CFLAGS@ @PTHREAD_LIBS@,-lpthread,' \
94	    < ${XZSRCDIR}/src/liblzma/liblzma.pc.in \
95	    > ${.TARGET}.tmp && \
96	mv -f ${.TARGET}.tmp ${.TARGET}
97
98.if ${MACHINE_ARCH} == "i386"
99COPTS += ${${ACTIVE_CC} == "gcc":? -Wno-error=psabi :}
100.endif
101
102CLEANFILES+=	liblzma.pc
103
104.if defined(HOSTLIB)
105HOST_CPPFLAGS+=	${CPPFLAGS:N-Wp,-iremap,*}
106.include <bsd.hostlib.mk>
107.else
108LIBDPLIBS+=	pthread ${NETBSDSRCDIR}/lib/libpthread
109.include <bsd.lib.mk>
110.endif
111
112