Makefile revision 281316
1# $FreeBSD: head/lib/liblzma/Makefile 281316 2015-04-09 18:03:27Z delphij $
2
3LIB=		lzma
4LZMADIR=	${.CURDIR}/../../contrib/xz/src/liblzma
5
6.PATH: ${LZMADIR}/../common
7SRCS+=	tuklib_physmem.c tuklib_cpucores.c
8
9.PATH: ${LZMADIR}/api/lzma
10
11MAININCS=	../lzma.h
12MAININCSDIR=	${INCLUDEDIR}
13
14LZMAINCS+=	base.h \
15		bcj.h \
16		block.h \
17		check.h \
18		container.h \
19		delta.h \
20		filter.h \
21		hardware.h \
22		index.h \
23		index_hash.h \
24		lzma12.h \
25		stream_flags.h \
26		version.h \
27		vli.h
28
29LZMAINCSDIR=	${INCLUDEDIR}/lzma
30
31INCSGROUPS=	MAININCS LZMAINCS
32
33.PATH: ${LZMADIR}/common
34SRCS+=	common.c \
35	block_util.c \
36	easy_preset.c \
37	filter_common.c \
38	hardware_physmem.c \
39	hardware_cputhreads.c \
40	index.c \
41	stream_flags_common.c \
42	vli_size.c \
43	alone_encoder.c \
44	block_buffer_encoder.c \
45	block_encoder.c \
46	block_header_encoder.c \
47	easy_buffer_encoder.c \
48	easy_encoder.c \
49	easy_encoder_memusage.c \
50	filter_buffer_encoder.c \
51	filter_encoder.c \
52	filter_flags_encoder.c \
53	index_encoder.c \
54	stream_buffer_encoder.c \
55	stream_encoder.c \
56	stream_flags_encoder.c \
57	vli_encoder.c \
58	alone_decoder.c \
59	auto_decoder.c \
60	block_buffer_decoder.c \
61	block_decoder.c \
62	block_header_decoder.c \
63	easy_decoder_memusage.c \
64	filter_buffer_decoder.c \
65	filter_decoder.c \
66	filter_flags_decoder.c \
67	index_decoder.c \
68	index_hash.c \
69	stream_buffer_decoder.c \
70	stream_decoder.c \
71	stream_flags_decoder.c \
72	stream_encoder_mt.c \
73	vli_decoder.c \
74	outqueue.c
75
76
77.PATH: ${LZMADIR}/check
78SRCS+=	check.c \
79	crc32_table.c \
80	crc64_table.c
81.if defined(MACHINE_ARCH) && ${MACHINE_ARCH} == "i386"
82SRCS+=	crc32_x86.S \
83	crc64_x86.S
84ACFLAGS+=	-Wa,--noexecstack
85.else
86SRCS+=	crc32_fast.c \
87	crc64_fast.c
88.endif
89
90.PATH: ${LZMADIR}/lz
91SRCS+=	lz_encoder.c \
92	lz_encoder_mf.c \
93	lz_decoder.c
94
95.PATH: ${LZMADIR}/lzma
96SRCS+=	lzma_encoder.c \
97	lzma_encoder_presets.c \
98	lzma_encoder_optimum_fast.c \
99	lzma_encoder_optimum_normal.c \
100	fastpos_table.c \
101	lzma_decoder.c \
102	lzma2_encoder.c \
103	lzma2_decoder.c
104
105.PATH: ${LZMADIR}/rangecoder
106SRCS+=	price_table.c
107
108.PATH: ${LZMADIR}/delta
109SRCS+=	delta_common.c \
110	delta_encoder.c \
111	delta_decoder.c
112
113.PATH: ${LZMADIR}/simple
114SRCS+=	simple_coder.c \
115	simple_encoder.c \
116	simple_decoder.c \
117	x86.c \
118	powerpc.c \
119	ia64.c \
120	arm.c \
121	armthumb.c \
122	sparc.c
123
124.PATH: ${LZMADIR}
125
126VERSION_MAJOR!=	awk '$$1 == "\#define" && $$2 == "LZMA_VERSION_MAJOR" {print $$3 } ' \
127			${LZMADIR}/api/lzma/version.h
128VERSION_MINOR!=	awk '$$1 == "\#define" && $$2 == "LZMA_VERSION_MINOR" {print $$3 } ' \
129			${LZMADIR}/api/lzma/version.h
130VERSION_PATCH!=	awk '$$1 == "\#define" && $$2 == "LZMA_VERSION_PATCH" {print $$3 } ' \
131			${LZMADIR}/api/lzma/version.h
132
133WARNS?=	3
134
135CFLAGS+=	-DHAVE_CONFIG_H \
136		-DTUKLIB_SYMBOL_PREFIX=lzma_ \
137		-I${.CURDIR} \
138		-I${LZMADIR}/api \
139		-I${LZMADIR}/common \
140		-I${LZMADIR}/check \
141		-I${LZMADIR}/lz \
142		-I${LZMADIR}/rangecoder \
143		-I${LZMADIR}/lzma \
144		-I${LZMADIR}/delta \
145		-I${LZMADIR}/simple \
146		-I${LZMADIR}/../common
147
148LIBADD+=	md pthread
149
150VERSION_DEF=	${.CURDIR}/Versions.def
151SYMBOL_MAPS=	${.CURDIR}/Symbol.map
152CFLAGS+=	-DSYMBOL_VERSIONING
153
154CLEANFILES+=	liblzma.pc
155
156.if !defined(LIBRARIES_ONLY)
157all: liblzma.pc
158liblzma.pc: liblzma.pc.in
159	@sed -e 's,@prefix@,/usr,g ; \
160		s,@exec_prefix@,/usr,g  ; \
161		s,@libdir@,/usr/lib,g ; \
162		s,@includedir@,/usr/include,g ; \
163		s,@PACKAGE_URL@,http://tukaani.org/xz/,g ; \
164		s,@PACKAGE_VERSION@,${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH},g ; \
165		s,@PTHREAD_CFLAGS@,,g ; \
166		s,@PTHREAD_LIBS@,,g' ${.ALLSRC} > ${.TARGET}
167
168beforeinstall:
169	@${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
170		liblzma.pc ${DESTDIR}${LIBDATADIR}/pkgconfig
171.endif
172
173.include <bsd.lib.mk>
174