]> git.ipfire.org Git - people/ms/libloc.git/blame - Makefile.am
python: Use shorthand function to export __version__
[people/ms/libloc.git] / Makefile.am
CommitLineData
46aded9a
MT
1EXTRA_DIST =
2CLEANFILES =
3ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
4AM_MAKEFLAGS = --no-print-directory
5
2bb7d64e 6SUBDIRS = . po
747cbcb1
MT
7BINDINGS =
8
9if ENABLE_PERL
10BINDINGS += perl
11endif
2bb7d64e 12
46aded9a
MT
13AM_CPPFLAGS = \
14 -include $(top_builddir)/config.h \
15 -DSYSCONFDIR=\""$(sysconfdir)"\" \
16 -I${top_srcdir}/src
17
18AM_CFLAGS = ${my_CFLAGS} \
46aded9a
MT
19 -ffunction-sections \
20 -fdata-sections
21
22AM_LDFLAGS = \
23 -Wl,--gc-sections \
24 -Wl,--as-needed
25
26LIBLOC_CURRENT=0
27LIBLOC_REVISION=0
28LIBLOC_AGE=0
29
30SED_PROCESS = \
31 $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \
32 -e 's,@VERSION\@,$(VERSION),g' \
33 -e 's,@prefix\@,$(prefix),g' \
34 -e 's,@exec_prefix\@,$(exec_prefix),g' \
35 -e 's,@libdir\@,$(libdir),g' \
36 -e 's,@includedir\@,$(includedir),g' \
73d1b258 37 -e 's,@databasedir\@,$(databasedir),g' \
46aded9a
MT
38 < $< > $@ || rm $@
39
73d1b258 40databasedir = $(datadir)/location
46aded9a
MT
41pkgconfigdir = $(libdir)/pkgconfig
42
73d1b258 43%: %.in Makefile
46aded9a
MT
44 $(SED_PROCESS)
45
2bb7d64e
MT
46@INTLTOOL_POLICY_RULE@
47
161ac92d
MT
48# ------------------------------------------------------------------------------
49
50AM_V_ASCIIDOC = $(AM_V_ASCIIDOC_$(V))
51AM_V_ASCIIDOC_ = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY))
52AM_V_ASCIIDOC_0 = @echo " ASCIIDOC" $@;
53
54AM_V_XSLT = $(AM_V_XSLT_$(V))
55AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
56AM_V_XSLT_0 = @echo " XSLT " $@;
57
58# ------------------------------------------------------------------------------
59
2bb7d64e
MT
60.PHONY: update-po
61update-po:
62 $(MAKE) -C po update-po
63
e51e1dec
MT
64EXTRA_DIST += \
65 examples/python/create-database.py \
66 examples/python/read-database.py
67
46aded9a 68pkginclude_HEADERS = \
c182393f 69 src/loc/libloc.h \
9fc7f001
MT
70 src/loc/as.h \
71 src/loc/database.h \
72 src/loc/format.h \
73 src/loc/network.h \
74 src/loc/private.h \
75 src/loc/stringpool.h \
c182393f 76 src/loc/writer.h
46aded9a
MT
77
78lib_LTLIBRARIES = \
79 src/libloc.la
80
9fc7f001 81src_libloc_la_SOURCES = \
62b83e6d 82 src/libloc.c \
a5db3e49 83 src/as.c \
2601e83e 84 src/database.c \
3b5f4af2 85 src/network.c \
62b83e6d 86 src/stringpool.c \
c182393f 87 src/writer.c
46aded9a
MT
88
89EXTRA_DIST += src/libloc.sym
90
18e2b14c
MT
91src_libloc_la_CFLAGS = \
92 $(AM_CFLAGS) \
1a3cb1b4 93 -DLIBLOC_PRIVATE \
18e2b14c
MT
94 -fvisibility=hidden
95
46aded9a
MT
96src_libloc_la_LDFLAGS = \
97 $(AM_LDFLAGS) \
98 -version-info $(LIBLOC_CURRENT):$(LIBLOC_REVISION):$(LIBLOC_AGE) \
99 -Wl,--version-script=$(top_srcdir)/src/libloc.sym
100
101src_libloc_la_DEPENDENCIES = \
102 ${top_srcdir}/src/libloc.sym
103
104pkgconfig_DATA = \
105 src/libloc.pc
106
107EXTRA_DIST += \
108 src/libloc.pc.in
109
110CLEANFILES += \
111 src/libloc.pc
112
a2ab8ddf 113pyexec_LTLIBRARIES = \
18e2b14c
MT
114 src/python/location.la
115
116src_python_location_la_SOURCES = \
9cdf6c53 117 src/python/locationmodule.c \
62ffafdd 118 src/python/locationmodule.h \
fadebc89
MT
119 src/python/as.c \
120 src/python/as.h \
9cdf6c53 121 src/python/database.c \
d688e569 122 src/python/database.h \
39967361
MT
123 src/python/network.c \
124 src/python/network.h \
d688e569
MT
125 src/python/writer.c \
126 src/python/writer.h
18e2b14c
MT
127
128src_python_location_la_CFLAGS = \
129 $(AM_CFLAGS) \
130 $(PYTHON_CFLAGS)
131
132src_python_location_la_LDFLAGS = \
133 $(AM_LDFLAGS) \
134 -shared \
135 -module \
136 -avoid-version
137
138src_python_location_la_LIBADD = \
139 src/libloc.la \
140 $(PYTHON_LIBS)
141
747cbcb1
MT
142# Compile & install bindings
143all-local: $(foreach binding,$(BINDINGS),build-$(binding))
144check-local: $(foreach binding,$(BINDINGS),check-$(binding))
145install-exec-local: $(foreach binding,$(BINDINGS),install-$(binding))
146clean-local: $(foreach binding,$(BINDINGS),clean-$(binding))
147uninstall-local: $(foreach binding,$(BINDINGS),uninstall-$(binding))
148
149# Perl Bindings
150EXTRA_DIST += \
151 src/perl/.gitignore \
152 src/perl/Location.xs \
153 src/perl/MANIFEST \
154 src/perl/Makefile.PL \
155 src/perl/lib/Location.pm \
156 src/perl/t/Location.t \
157 src/perl/typemap
158
159.PHONY: build-perl
160build-perl:
161 @mkdir -p $(builddir)/src/perl/{lib,t}
162 @test -e $(builddir)/src/perl/Location.xs || ln -s --relative $(srcdir)/src/perl/Location.xs $(builddir)/src/perl/
163 @test -e $(builddir)/src/perl/MANIFEST || ln -s --relative $(srcdir)/src/perl/MANIFEST $(builddir)/src/perl/
164 @test -e $(builddir)/src/perl/Makefile.PL || ln -s --relative $(srcdir)/src/perl/Makefile.PL $(builddir)/src/perl/
165 @test -e $(builddir)/src/perl/lib/Location.pm || ln -s --relative $(srcdir)/src/perl/lib/Location.pm $(builddir)/src/perl/lib/
166 @test -e $(builddir)/src/perl/t/Location.t || ln -s --relative $(srcdir)/src/perl/t/Location.t $(builddir)/src/perl/t/
167 @test -e $(builddir)/src/perl/typemap || ln -s --relative $(srcdir)/src/perl/typemap $(builddir)/src/perl/
168
169 cd $(builddir)/src/perl && $(PERL) Makefile.PL PREFIX="$(prefix)" \
170 INC="-I$(abs_srcdir)/src" LIBS="-L$(abs_builddir)/src/.libs -lloc"
171 cd $(builddir)/src/perl && $(MAKE)
172
173.PHONY: check-perl
f852b157
MT
174check-perl: testdata.db
175 cd $(builddir)/src/perl && $(MAKE) test database="../../$<"
747cbcb1
MT
176
177.PHONY: install-perl
178install-perl:
179 cd $(builddir)/src/perl && $(MAKE) install
180
181.PHONY: clean-perl
182clean-perl:
183 cd $(builddir)/src/perl && $(MAKE) distclean
184
185.PHONY: uninstall-perl
186uninstall-perl:
187 rm -rvf \
188 $(DESTDIR)/$(prefix)/lib/*/perl/*/Location.pm \
189 $(DESTDIR)/$(prefix)/lib/*/perl/*/auto/Location \
190 $(DESTDIR)/$(prefix)/lib/*/perl/*/perllocal.pod \
191 $(DESTDIR)/$(prefix)/man/man3/Location.3pm
192
5118a4b8
MT
193bin_SCRIPTS = \
194 src/python/location-query
195
73d1b258
MT
196EXTRA_DIST += \
197 src/python/location-query.in
198
199CLEANFILES += \
200 src/python/location-query
201
161ac92d
MT
202# ------------------------------------------------------------------------------
203
30ac38a1
MT
204TESTS_CFLAGS = \
205 $(AM_CFLAGS) \
206 -DLIBLOC_PRIVATE
207
46aded9a 208TESTS = \
62b83e6d 209 src/test-libloc \
2601e83e 210 src/test-stringpool \
a5db3e49 211 src/test-database \
3b5f4af2
MT
212 src/test-as \
213 src/test-network
46aded9a 214
f3bf970a 215CLEANFILES += \
f852b157
MT
216 test.db \
217 testdata.db
f3bf970a 218
f852b157
MT
219testdata.db: examples/python/create-database.py
220 PYTHONPATH=$(abs_builddir)/src/python/.libs $(PYTHON) $< $@
1235c0b0 221
46aded9a 222check_PROGRAMS = \
62b83e6d 223 src/test-libloc \
2601e83e 224 src/test-stringpool \
a5db3e49 225 src/test-database \
3b5f4af2
MT
226 src/test-as \
227 src/test-network
46aded9a
MT
228
229src_test_libloc_SOURCES = \
230 src/test-libloc.c
231
30ac38a1
MT
232src_test_libloc_CFLAGS = \
233 $(TESTS_CFLAGS)
234
46aded9a
MT
235src_test_libloc_LDADD = \
236 src/libloc.la
62b83e6d 237
a5db3e49
MT
238src_test_as_SOURCES = \
239 src/test-as.c
240
30ac38a1
MT
241src_test_as_CFLAGS = \
242 $(TESTS_CFLAGS)
243
a5db3e49
MT
244src_test_as_LDADD = \
245 src/libloc.la
246
3b5f4af2
MT
247src_test_network_SOURCES = \
248 src/test-network.c
249
30ac38a1
MT
250src_test_network_CFLAGS = \
251 $(TESTS_CFLAGS)
252
3b5f4af2
MT
253src_test_network_LDADD = \
254 src/libloc.la
255
62b83e6d
MT
256src_test_stringpool_SOURCES = \
257 src/test-stringpool.c
258
30ac38a1
MT
259src_test_stringpool_CFLAGS = \
260 $(TESTS_CFLAGS)
261
62b83e6d
MT
262src_test_stringpool_LDADD = \
263 src/libloc.la
2601e83e
MT
264
265src_test_database_SOURCES = \
266 src/test-database.c
267
30ac38a1
MT
268src_test_database_CFLAGS = \
269 $(TESTS_CFLAGS)
270
2601e83e
MT
271src_test_database_LDADD = \
272 src/libloc.la
161ac92d
MT
273
274# ------------------------------------------------------------------------------
275
276MANPAGES = \
277 man/location-query.8
278
279MANPAGES_TXT = $(patsubst %.8,%.txt,$(MANPAGES))
280MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT))
281MANPAGES_XML = $(patsubst %.txt,%.xml,$(MANPAGES_TXT))
282
283.PHONY: man
284man: $(MANPAGES) $(MANPAGES_HTML)
285
286if ENABLE_MANPAGES
287man_MANS = \
288 $(MANPAGES)
289endif
290
291CLEANFILES += \
292 $(MANPAGES) \
293 $(MANPAGES_HTML) \
294 $(MANPAGES_XML)
295
296EXTRA_DIST += \
297 man/asciidoc.conf \
298 $(MANPAGES_TXT)
299
300XSLTPROC_FLAGS = \
301 --nonet \
302 --stringparam man.output.quietly 1 \
303 --stringparam funcsynopsis.style ansi \
304 --stringparam man.th.extra1.suppress 1 \
305 --stringparam man.authors.section.enabled 1 \
306 --stringparam man.copyright.section.enabled 1
307
308XSLTPROC_COMMAND_MAN = \
309 $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \
310 $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
311 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
312
313man/%.xml: man/%.txt man/asciidoc.conf
314 $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \
315 $(ASCIIDOC) \
316 -f $(abs_srcdir)/man/asciidoc.conf \
317 -d manpage -b docbook -o $@ $<
318
319man/%.8: man/%.xml
320 $(XSLTPROC_COMMAND_MAN)
321
322man/%.html: man/%.txt man/asciidoc.conf
323 $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \
324 $(ASCIIDOC) \
325 -f $(abs_srcdir)/man/asciidoc.conf \
326 -b html5 -a icons -a theme=flask -o $@ $<
327
328.PHONY: upload-man
329upload-man: $(MANPAGES_HTML)
330 rsync -avHz --delete --progress $(MANPAGES_HTML) ms@fs01.haj.ipfire.org:/pub/man-pages/$(PACKAGE_NAME)/