1 # $NetBSD: Makefile,v 1.13 2026/04/08 21:00:52 christos 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 tuklib_mbstr_nonprint.c 37 SRCS+= tuklib_mbstr_width.c tuklib_mbstr_wrap.c lzip_decoder.c 38 SRCS+= file_info.c filter_decoder.c string_conversion.c 39 40 .PATH: ${XZSRCDIR}/src/liblzma/check 41 SRCS+= check.c 42 SRCS+= crc32_fast.c crc64_fast.c 43 44 SRCS+= sha256.c 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 stream_decoder_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 arm64.c armthumb.c ia64.c powerpc.c riscv.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