Makefile revision 1.12 1 # $NetBSD: Makefile,v 1.12 2024/11/22 16:07:10 riastradh Exp $
2
3 .include <bsd.init.mk>
4
5 LIB= lzma
6 USE_SHLIBDIR= yes
7 NOLINT= yes
8
9
10 .PATH: ${XZSRCDIR}/src/liblzma/api ${XZSRCDIR}/src/liblzma/api/lzma
11 INCS+= 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
15 INCSDIR_lzma.h= /usr/include
16 INCSDIR= /usr/include/lzma
17
18 .if ${MKSANITIZER} != "yes"
19 LDFLAGS+= -Wl,-z,defs
20 .endif
21
22 CFLAGS+= -fvisibility=hidden
23
24 CPPFLAGS+= -I${XZSRCDIR}/src/common
25 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/check
26 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/common
27 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/delta
28 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/lz
29 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/lzma
30 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/rangecoder
31 CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/simple
32 CPPFLAGS+= -DTUKLIB_SYMBOL_PREFIX=lzma_
33 CPPFLAGS+= -DNETBSD_NATIVE_SHA256
34
35 .PATH: ${XZSRCDIR}/src/common
36 SRCS+= tuklib_physmem.c tuklib_cpucores.c
37
38 .PATH: ${XZSRCDIR}/src/liblzma/check
39 SRCS+= check.c crc32_table.c crc64_table.c
40 SRCS+= crc32_fast.c crc64_fast.c
41
42 .if defined(HOSTLIB)
43 SRCS+= sha256.c
44 .endif
45
46 .PATH: ${XZSRCDIR}/src/liblzma/common
47 SRCS+= 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)
63 SRCS+= stream_encoder_mt.c
64 .endif
65
66 .PATH: ${XZSRCDIR}/src/liblzma/delta
67 SRCS+= delta_common.c delta_encoder.c delta_decoder.c
68
69 .PATH: ${XZSRCDIR}/src/liblzma/lz
70 SRCS+= lz_decoder.c lz_encoder.c lz_encoder_mf.c
71
72 .PATH: ${XZSRCDIR}/src/liblzma/lzma
73 SRCS+= 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
79 SRCS+= price_table.c
80
81 .PATH: ${XZSRCDIR}/src/liblzma/simple
82 SRCS+= simple_coder.c simple_encoder.c simple_decoder.c \
83 arm.c armthumb.c ia64.c powerpc.c sparc.c x86.c
84
85 FILES+= liblzma.pc
86 FILESDIR_liblzma.pc= /usr/lib/pkgconfig
87
88 liblzma.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"
104 COPTS += ${${ACTIVE_CC} == "gcc":? -Wno-error=psabi :}
105 .endif
106
107 CLEANFILES+= liblzma.pc
108
109 .if defined(HOSTLIB)
110 HOST_CPPFLAGS+= ${CPPFLAGS:N-Wp,-iremap,*}
111 .include <bsd.hostlib.mk>
112 .else
113 LIBDPLIBS+= pthread ${NETBSDSRCDIR}/lib/libpthread
114 .include <bsd.lib.mk>
115 .endif
116
117 all: liblzma.pc
118 dependall: all
119