updated INSTALL and doc/INSTALL
[polylib.git] / Makefile.am
blob1e543c70558ae359f90085a97ca65c136f673c28
1 SUBDIRS = include Test
3 CPPFLAGS = -I$(srcdir)/include -Iinclude @CPPFLAGS@
5 ACLOCAL_AMFLAGS = -I m4
7 poly_src = $(srcdir)/applications
8 poly_arith = $(srcdir)/source/arith
10 CFILES= \
11         source/arith/errors.c \
12         source/kernel/errormsg.c \
13         source/kernel/vector.c \
14         source/kernel/matrix.c \
15         source/kernel/polyhedron.c \
16         source/kernel/polyparam.c \
17         source/kernel/param.c \
18         source/kernel/alpha.c \
19         source/ehrhart/ehrhart.c \
20         source/ehrhart/ext_ehrhart.c \
21         source/ehrhart/eval_ehrhart.c \
22         source/ehrhart/homogenization.c \
23         source/ehrhart/ranking.c \
24         source/kernel/matrix_addon.c \
25         source/kernel/matrix_permutations.c \
26         source/kernel/compress_parms.c \
27         source/kernel/SolveDio.c \
28         source/kernel/Lattice.c \
29         source/kernel/Matop.c \
30         source/kernel/NormalForms.c \
31         source/kernel/Zpolyhedron.c             
33 sources = $(CFILES) \
34         $(poly_arith)/assert.h \
35         $(poly_arith)/arithmetique.h \
36         $(poly_arith)/arithmetic_errors.h
38 EXTRA_DIST = doc source/oldpolytest.c
40 lib_LTLIBRARIES = @polylibs@
41 libpolylib32_la_LDFLAGS = -rpath $(libdir) -version-info @versioninfo@
42 libpolylib32_la_SOURCES = $(sources)
43 libpolylib32_la_CPPFLAGS = -DPOLYLIB_BITS=32
44 libpolylib32_la_LIBADD = @LTLIBOBJS@
45 libpolylib64_la_LDFLAGS = -rpath $(libdir) -version-info @versioninfo@
46 libpolylib64_la_SOURCES = $(sources)
47 libpolylib64_la_CPPFLAGS = -DPOLYLIB_BITS=64
48 libpolylib64_la_LIBADD = @LTLIBOBJS@
49 libpolylib128_la_LDFLAGS = -rpath $(libdir) -version-info @versioninfo@
50 libpolylib128_la_SOURCES = $(sources)
51 libpolylib128_la_CPPFLAGS = -DPOLYLIB_BITS=128
52 libpolylib128_la_LIBADD = @LTLIBOBJS@
53 libpolylibgmp_la_LDFLAGS = -rpath $(libdir) -version-info @versioninfo@
54 libpolylibgmp_la_SOURCES = $(sources)
55 libpolylibgmp_la_CPPFLAGS = -DGNUMP
56 libpolylibgmp_la_LIBADD = @LTLIBOBJS@
58 testlib_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
59 example_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
60 count_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
61 c2p_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
62 r2p_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
63 findv_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
64 disjoint_union_sep_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
65 disjoint_union_adj_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
66 ehrhart_quick_apx_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
67 ehrhart_lower_bound_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
68 ehrhart_upper_bound_CPPFLAGS = $(libpolylib@BITS@_la_CPPFLAGS)
71 EXTRA_LTLIBRARIES = libpolylib32.la libpolylib64.la libpolylib128.la \
72                     libpolylibgmp.la
74 multi_noinst_programs = $(foreach B,$(ALL_BITS), \
75         Zpolytest$(B)$(EXEEXT) \
76         polytest$(B)$(EXEEXT) \
77         verif_ehrhart$(B)$(EXEEXT) \
80 noinst_PROGRAMS = \
81         testlib \
82         example \
83         count \
84         @multi_noinst_programs@
86 multi_bin_programs = $(foreach B,$(ALL_BITS), \
87         ehrhart_ranking$(B)$(EXEEXT) \
88         ehrhart_union$(B)$(EXEEXT) \
89         pp$(B)$(EXEEXT) \
90         testehrhart$(B)$(EXEEXT) \
91         testCompressParms$(B)$(EXEEXT) \
94 bin_PROGRAMS = \
95         c2p \
96         r2p \
97         findv \
98         disjoint_union_sep \
99         disjoint_union_adj \
100         ehrhart_quick_apx \
101         ehrhart_upper_bound \
102         ehrhart_lower_bound \
103         @multi_bin_programs@
105 EXTRA_PROGRAMS = \
106         Zpolytest32 \
107         Zpolytest64 \
108         Zpolytestgmp \
109         ehrhart_ranking32 \
110         ehrhart_ranking64 \
111         ehrhart_rankinggmp \
112         ehrhart_union32 \
113         ehrhart_union64 \
114         ehrhart_uniongmp \
115         polytest32 \
116         polytest64 \
117         polytestgmp \
118         pp32 \
119         pp64 \
120         ppgmp \
121         testehrhart32 \
122         testehrhart64 \
123         testehrhartgmp \
124         testCompressParms32 \
125         testCompressParms64 \
126         testCompressParmsgmp \
127         verif_ehrhart32 \
128         verif_ehrhart64 \
129         verif_ehrhartgmp
131 LDADD = @polylib@
132 c2p_SOURCES = $(poly_src)/c2p.c
133 r2p_SOURCES = $(poly_src)/r2p.c
134 findv_SOURCES = $(poly_src)/findv.c
135 disjoint_union_sep_SOURCES = $(poly_src)/disjoint_union_sep.c
136 disjoint_union_adj_SOURCES = $(poly_src)/disjoint_union_adj.c
137 ehrhart_quick_apx_SOURCES = $(poly_src)/ehrhart_quick_apx.c
138 ehrhart_upper_bound_SOURCES =  $(poly_src)/ehrhart_upper_bound.c
139 ehrhart_lower_bound_SOURCES =  $(poly_src)/ehrhart_lower_bound.c
140 testlib_SOURCES = $(poly_src)/testlib.c
141 example_SOURCES = $(poly_src)/example.c
142 count_SOURCES = source/count.c
143 Zpolytest32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
144 Zpolytest32_SOURCES = $(poly_src)/Zpolytest.c
145 Zpolytest32_LDADD = libpolylib32.la
146 Zpolytest64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
147 Zpolytest64_SOURCES = $(poly_src)/Zpolytest.c
148 Zpolytest64_LDADD = libpolylib64.la
149 Zpolytestgmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
150 Zpolytestgmp_SOURCES = $(poly_src)/Zpolytest.c
151 Zpolytestgmp_LDADD = libpolylibgmp.la
152 ehrhart_ranking32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
153 ehrhart_ranking32_SOURCES = $(poly_src)/ehrhart_ranking.c
154 ehrhart_ranking32_LDADD = libpolylib32.la
155 ehrhart_ranking64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
156 ehrhart_ranking64_SOURCES = $(poly_src)/ehrhart_ranking.c
157 ehrhart_ranking64_LDADD = libpolylib64.la
158 ehrhart_rankinggmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
159 ehrhart_rankinggmp_SOURCES = $(poly_src)/ehrhart_ranking.c
160 ehrhart_rankinggmp_LDADD = libpolylibgmp.la
161 ehrhart_union32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
162 ehrhart_union32_SOURCES = $(poly_src)/ehrhart_union.c
163 ehrhart_union32_LDADD = libpolylib32.la
164 ehrhart_union64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
165 ehrhart_union64_SOURCES = $(poly_src)/ehrhart_union.c
166 ehrhart_union64_LDADD = libpolylib64.la
167 ehrhart_uniongmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
168 ehrhart_uniongmp_SOURCES = $(poly_src)/ehrhart_union.c
169 ehrhart_uniongmp_LDADD = libpolylibgmp.la
170 polytest32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
171 polytest32_SOURCES = $(poly_src)/polytest.c
172 polytest32_LDADD = libpolylib32.la
173 polytest64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
174 polytest64_SOURCES = $(poly_src)/polytest.c
175 polytest64_LDADD = libpolylib64.la
176 polytestgmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
177 polytestgmp_SOURCES = $(poly_src)/polytest.c
178 polytestgmp_LDADD = libpolylibgmp.la
179 pp32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
180 pp32_SOURCES = $(poly_src)/pp.c
181 pp32_LDADD = libpolylib32.la
182 pp64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
183 pp64_SOURCES = $(poly_src)/pp.c
184 pp64_LDADD = libpolylib64.la
185 ppgmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
186 ppgmp_SOURCES = $(poly_src)/pp.c
187 ppgmp_LDADD = libpolylibgmp.la
188 testehrhart32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
189 testehrhart32_SOURCES = $(poly_src)/testehrhart.c
190 testehrhart32_LDADD = libpolylib32.la
191 testehrhart64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
192 testehrhart64_SOURCES = $(poly_src)/testehrhart.c
193 testehrhart64_LDADD = libpolylib64.la
194 testehrhartgmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
195 testehrhartgmp_SOURCES = $(poly_src)/testehrhart.c
196 testehrhartgmp_LDADD = libpolylibgmp.la
197 testCompressParms32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
198 testCompressParms32_SOURCES = $(poly_src)/testCompressParms.c
199 testCompressParms32_LDADD = libpolylib32.la
200 testCompressParms64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
201 testCompressParms64_SOURCES = $(poly_src)/testCompressParms.c
202 testCompressParms64_LDADD = libpolylib64.la
203 testCompressParmsgmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
204 testCompressParmsgmp_SOURCES = $(poly_src)/testCompressParms.c
205 testCompressParmsgmp_LDADD = libpolylibgmp.la
206 verif_ehrhart32_CPPFLAGS = $(libpolylib32_la_CPPFLAGS)
207 verif_ehrhart32_SOURCES = $(poly_src)/verif_ehrhart.c
208 verif_ehrhart32_LDADD = libpolylib32.la
209 verif_ehrhart64_CPPFLAGS = $(libpolylib64_la_CPPFLAGS)
210 verif_ehrhart64_SOURCES = $(poly_src)/verif_ehrhart.c
211 verif_ehrhart64_LDADD = libpolylib64.la
212 verif_ehrhartgmp_CPPFLAGS = $(libpolylibgmp_la_CPPFLAGS)
213 verif_ehrhartgmp_SOURCES = $(poly_src)/verif_ehrhart.c
214 verif_ehrhartgmp_LDADD = libpolylibgmp.la
216 check: tests
218 tests: all
219         (cd Test; $(MAKE) tests)
221 longtest: all
222         (cd Test; $(MAKE) long_tests)
224 # Make the 'javadoc' style documentation
225 document:
226         -mkdir doc
227         $(DOXYGEN) polylib.doxygen
229 dist-hook: document
230         rm -rf `find $(distdir)/doc -name CVS`
231         cp -r doc/codeDoc $(distdir)/doc
233 install-data-local:
234         @test -z "$(pkgconfig_libdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfig_libdir)"
235         $(INSTALL_DATA) $(pkgconfig_libfile) "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
237 uninstall-local:
238         rm -f "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"