Home | History | Annotate | Line # | Download | only in lib
      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