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