2 MAYBE_POLYLIB = polylib
3 POLYLIB_LA = $(top_builddir)/polylib/libpolylibgmp.la
7 ISL_LA = $(top_builddir)/isl/libisl.la
8 LOCAL_ISL_LA = isl/libisl.la
11 ISL_LA = $(ISL_BUILDDIR)/libisl.la
15 PET_LA = $(top_builddir)/pet/libpet.la
18 PET_LA = $(PET_BUILDDIR)/libpet.la
23 SUBDIRS = $(MAYBE_POLYLIB) $(MAYBE_ISL) $(MAYBE_PET) \
25 DIST_SUBDIRS = $(MAYBE_POLYLIB) $(MAYBE_ISL) $(MAYBE_PET) \
29 polylib/libpolylibgmp.la: FORCE
30 cd polylib; $(MAKE) $(AM_MAKEFLAGS) libpolylibgmp.la
32 cd isl; $(MAKE) $(AM_MAKEFLAGS) libisl.la
33 pet/libpet.la: $(LOCAL_ISL_LA) FORCE
34 cd pet; $(MAKE) $(AM_MAKEFLAGS) libpet.la
35 zsolve/libzsolve.la: FORCE
36 cd zsolve; $(MAKE) $(AM_MAKEFLAGS) libzsolve.la
38 AM_CPPFLAGS = @POLYLIB_CPPFLAGS@ \
39 @ISL_CFLAGS@ @NTL_CPPFLAGS@
40 AM_LDFLAGS = @BV_LDFLAGS@ @POLYLIB_LDFLAGS@ @NTL_LDFLAGS@
42 LIB_ISL = $(ISL_LA) @ISL_LIBS@
43 LIB_PET = $(PET_LA) @PET_LIBS@
44 LIB_POLYLIB = $(POLYLIB_LA) @POLYLIB_LIBS@
46 lib_LTLIBRARIES = libbarvinok.la
47 bin_PROGRAMS = barvinok_count barvinok_enumerate barvinok_enumerate_e \
49 noinst_PROGRAMS = test testlib randomtest \
50 barvinok_union polytope_volume test_approx \
53 @bv_cone_hilbert_basis@ cone_integer_hull \
54 polyhedron_integer_hull vector_partition_chambers \
56 barvinok_bound test_bound
57 EXTRA_PROGRAMS = cone_hilbert_basis
58 pkginclude_HEADERS = \
68 barvinok/basis_reduction.h
69 nodist_pkginclude_HEADERS = \
75 BR_CDD = basis_reduction_cdd.cc initcdd.cc
76 POLYSIGN_CDD = polysign_cddf.cc polysign_cdd.cc
79 BR_GLPK = basis_reduction_glpk.c
80 POLYSIGN_GLPK = polysign_glpk.c
83 TOPCOM = topcom.c topcom.h
88 libbarvinok_la_SOURCES = \
116 genfun_constructor.cc \
117 genfun_constructor.h \
142 param_polynomial.cc \
157 remove_equalities.h \
158 remove_equalities.c \
180 EXTRA_libbarvinok_la_SOURCES = \
181 basis_reduction_cdd.cc \
182 basis_reduction_glpk.c \
192 ZSOLVE_LA = zsolve/libzsolve.la
194 libbarvinok_la_LIBADD = @LTLIBOBJS@ $(LIB_ISL) \
195 $(LIB_POLYLIB) $(ZSOLVE_LA)
196 libbarvinok_la_LDFLAGS = @BV_LIB_LDFLAGS@ -version-info @versioninfo@ \
198 LDADD = libbarvinok.la $(LIB_ISL) $(LIB_POLYLIB)
206 barvinok_count_SOURCES = barvinok_count.c
207 barvinok_ehrhart_SOURCES = \
208 barvinok_ehrhart_options.c \
209 barvinok_ehrhart_options.h \
210 barvinok_ehrhart.cc \
211 evalue_convert_options.c \
215 barvinok_union_SOURCES = \
216 barvinok_union_options.c \
217 barvinok_union_options.h \
220 FDSTREAM = fdstream.cc fdstream.h
222 barvinok_enumerate_SOURCES = \
223 barvinok_enumerate_options.c \
224 barvinok_enumerate_options.h \
225 barvinok_enumerate.cc \
226 evalue_convert_options.c \
236 EXTRA_barvinok_enumerate_SOURCES = fdstream.cc fdstream.h
237 barvinok_enumerate_e_SOURCES = \
238 barvinok_enumerate_e_options.c \
239 barvinok_enumerate_e_options.h \
240 barvinok_enumerate_e.cc \
241 evalue_convert_options.c \
253 EXTRA_barvinok_enumerate_e_SOURCES = fdstream.cc fdstream.h
254 barvinok_bound_SOURCES = \
258 barvinok_summate_SOURCES = \
262 4coins_SOURCES = 4coins.cc
263 semigroup_holes_SOURCES = semigroup_holes.cc
274 test_approx_SOURCES = \
278 test_bound_SOURCES = \
288 iscc_CPPFLAGS = @PET_CFLAGS@ $(AM_CPPFLAGS)
290 libbarvinok.la $(LIB_PET) $(LIB_ISL) \
294 # dummy library that captures the dependencies on all headers
295 # that are relevant for the bindings
296 noinst_LIBRARIES = libdep.a
297 libdep_a_CPPFLAGS = $(DEFAULT_INCLUDES) @ISL_CFLAGS@ -I"@ISL_SRCDIR@"
298 libdep_a_SOURCES = interface/all_barvinok.c
300 @ISL_BUILDDIR@/interface/extract_interface$(EXEEXT):
301 $(MAKE) -C @ISL_BUILDDIR@ interface/extract_interface$(EXEEXT)
303 isl.py: libdep.a interface/isl.py.top \
304 @ISL_BUILDDIR@/interface/extract_interface$(EXEEXT)
305 (cat interface/isl.py.top && \
306 @ISL_BUILDDIR@/interface/extract_interface$(EXEEXT) \
308 $(DEFAULT_INCLUDES) @ISL_CFLAGS@ -I"@ISL_SRCDIR@" \
309 $(srcdir)/interface/all_barvinok.h) \
310 > $@ || (rm $@ && false)
313 TESTFILES = $(shell find $(top_srcdir)/tests -type f ! -path '*CVS*')
321 barvinok-uninstalled.sh \
322 barvinok-uninstalled.pc \
334 basis_reduction_templ.c \
335 polysign_cdd_template.cc \
336 barvinok/NTL.h.broken \
337 barvinok/NTL.h.normal \
338 barvinok/set.h.broken \
339 barvinok/set.h.normal \
343 doc/applications.tex \
353 interface/all_barvinok.h \
354 interface/isl.py.top.no_pet \
355 interface/isl.py.top.pet \
356 polymake/Makefile.in \
358 polymake/autogen.sh \
359 polymake/configure.in \
360 polymake/convert.cc \
362 polymake/h_star_vector.cc \
363 polymake/lattice_points.cc
365 ACLOCAL_AMFLAGS = -I m4
368 @test -z "$(pkgconfig_libdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfig_libdir)"
369 $(INSTALL_DATA) $(pkgconfig_libfile) "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
372 rm -f "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
375 cp isl.py $(distdir)/
376 (cd $(distdir)/polymake; \
377 ./autogen.sh; rm -rf autom4te.cache)
378 (cd doc; make barvinok.pdf)
379 cp doc/barvinok.pdf $(distdir)/doc/
380 if test -f $(top_srcdir)/.git/HEAD; then \
381 echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID; \
383 echo $(GIT_HEAD_ID) > $(distdir)/GIT_HEAD_ID; \
387 mv $(distdir).tar.gz @GIT_HEAD_VERSION@.tar.gz
389 TESTS = testlib check_enumerate.sh check_enumerate_e.sh check_test.sh \
390 check_lexmin.sh check_approx.sh check_pwqp.sh check_euler.sh \
391 check_iscc.sh check_union.sh
393 version.h: @GIT_HEAD@
394 echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@