1if HAVE_CLANG
2    MAYBE_INTERFACE = interface
3endif
4SUBDIRS = . $(MAYBE_INTERFACE) doc
5DIST_SUBDIRS = $(MAYBE_INTERFACE) doc
6
7ACLOCAL_AMFLAGS = -I m4
8AUTOMAKE_OPTIONS = nostdinc
9
10lib_LTLIBRARIES = libisl.la
11noinst_PROGRAMS = isl_test isl_polyhedron_sample isl_pip \
12	isl_polyhedron_minimize isl_polytope_scan \
13	isl_polyhedron_detect_equalities isl_cat \
14	isl_closure isl_bound isl_codegen
15TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh
16
17if HAVE_PIPLIB
18ISL_PIPLIB = \
19	isl_lp_piplib.c \
20	isl_map_piplib.c \
21	isl_sample_piplib.c \
22	isl_sample_piplib.h \
23	isl_piplib.c
24else
25ISL_PIPLIB = \
26	isl_lp_no_piplib.c \
27	isl_map_no_piplib.c \
28	isl_sample_no_piplib.c
29endif
30
31if NEED_GET_MEMORY_FUNCTIONS
32GET_MEMORY_FUNCTIONS=mp_get_memory_functions.c
33endif
34
35INCLUDES = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/ 
36AM_CFLAGS = @WARNING_FLAGS@
37
38libisl_la_SOURCES = \
39	$(ISL_PIPLIB) \
40	$(GET_MEMORY_FUNCTIONS) \
41	isl_aff.c \
42	isl_aff_private.h \
43	isl_affine_hull.c \
44	isl_arg.c \
45	isl_ast.c \
46	isl_ast_private.h \
47	isl_ast_build.c \
48	isl_ast_build_private.h \
49	isl_ast_build_expr.c \
50	isl_ast_build_expr.h \
51	isl_ast_codegen.c \
52	isl_ast_graft.c \
53	isl_ast_graft_private.h \
54	isl_band.c \
55	isl_band_private.h \
56	isl_basis_reduction.h \
57	basis_reduction_tab.c \
58	isl_bernstein.c \
59	isl_bernstein.h \
60	isl_blk.c \
61	isl_bound.c \
62	isl_bound.h \
63	isl_coalesce.c \
64	isl_constraint.c \
65	isl_constraint_private.h \
66	isl_convex_hull.c \
67	isl_ctx.c \
68	isl_ctx_private.h \
69	isl_deprecated.c \
70	isl_dim.c \
71	isl_dim_map.h \
72	isl_dim_map.c \
73	isl_equalities.c \
74	isl_equalities.h \
75	isl_factorization.c \
76	isl_factorization.h \
77	isl_farkas.c \
78	isl_flow.c \
79	isl_fold.c \
80	isl_gmp.c \
81	isl_hash.c \
82	isl_hmap_map_basic_set.c \
83	isl_hmap_map_basic_set.h \
84	isl_ilp.c \
85	isl_input.c \
86	isl_int.h \
87	isl_local_space_private.h \
88	isl_local_space.c \
89	isl_lp.c \
90	isl_lp_piplib.h \
91	isl_map.c \
92	isl_map_simplify.c \
93	isl_map_subtract.c \
94	isl_map_private.h \
95	isl_map_piplib.h \
96	isl_mat.c \
97	isl_mat_private.h \
98	isl_morph.c \
99	isl_morph.h \
100	isl_id.c \
101	isl_id_private.h \
102	isl_obj.c \
103	isl_options.c \
104	isl_options_private.h \
105	isl_output.c \
106	isl_piplib.h \
107	isl_point_private.h \
108	isl_point.c \
109	isl_polynomial_private.h \
110	isl_polynomial.c \
111	isl_printer_private.h \
112	isl_printer.c \
113	print.c \
114	isl_range.c \
115	isl_range.h \
116	isl_reordering.c \
117	isl_reordering.h \
118	isl_sample.h \
119	isl_sample.c \
120	isl_scan.c \
121	isl_scan.h \
122	isl_schedule.c \
123	isl_schedule_private.h \
124	isl_set_list.c \
125	isl_sort.c \
126	isl_sort.h \
127	isl_space.c \
128	isl_space_private.h \
129	isl_stream.c \
130	isl_stream_private.h \
131	isl_seq.c \
132	isl_tab.c \
133	isl_tab.h \
134	isl_tab_pip.c \
135	isl_tarjan.c \
136	isl_tarjan.h \
137	isl_transitive_closure.c \
138	isl_union_map.c \
139	isl_union_map_private.h \
140	isl_val.c \
141	isl_val_gmp.c \
142	isl_val_private.h \
143	isl_vec.c \
144	isl_version.c \
145	isl_vertices_private.h \
146	isl_vertices.c
147EXTRA_libisl_la_SOURCES = \
148	isl_lp_piplib.c \
149	isl_lp_no_piplib.c \
150	isl_map_piplib.c \
151	isl_map_no_piplib.c \
152	isl_sample_no_piplib.c \
153	isl_sample_piplib.c \
154	isl_sample_piplib.h \
155	isl_piplib.c
156libisl_la_LIBADD = @PIPLIB_LIBS@ @GMP_LIBS@
157libisl_la_LDFLAGS = -version-info @versioninfo@ \
158	@PIPLIB_LDFLAGS@ @GMP_LDFLAGS@
159libisl_la_CPPFLAGS = $(INCLUDES) @PIPLIB_CPPFLAGS@ @GMP_CPPFLAGS@
160
161isl_test_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
162isl_test_LDFLAGS = @GMP_LDFLAGS@
163isl_test_LDADD = libisl.la @GMP_LIBS@
164
165isl_polyhedron_sample_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
166isl_polyhedron_sample_LDADD = libisl.la
167isl_polyhedron_sample_SOURCES = \
168	polyhedron_sample.c
169
170isl_pip_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
171isl_pip_LDFLAGS = @GMP_LDFLAGS@
172isl_pip_LDADD = libisl.la @GMP_LIBS@
173isl_pip_SOURCES = \
174	pip.c
175
176isl_codegen_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
177isl_codegen_LDFLAGS = @GMP_LDFLAGS@
178isl_codegen_LDADD = libisl.la @GMP_LIBS@
179isl_codegen_SOURCES = \
180	codegen.c
181
182isl_bound_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
183isl_bound_LDFLAGS = @GMP_LDFLAGS@
184isl_bound_LDADD = libisl.la @GMP_LIBS@
185isl_bound_SOURCES = \
186	bound.c
187
188isl_polyhedron_minimize_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
189isl_polyhedron_minimize_LDFLAGS = @GMP_LDFLAGS@
190isl_polyhedron_minimize_LDADD = libisl.la @GMP_LIBS@
191isl_polyhedron_minimize_SOURCES = \
192	polyhedron_minimize.c
193
194isl_polytope_scan_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
195isl_polytope_scan_LDADD = libisl.la
196isl_polytope_scan_SOURCES = \
197	polytope_scan.c
198
199isl_polyhedron_detect_equalities_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
200isl_polyhedron_detect_equalities_LDADD = libisl.la
201isl_polyhedron_detect_equalities_SOURCES = \
202	polyhedron_detect_equalities.c
203
204isl_cat_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
205isl_cat_LDADD = libisl.la
206isl_cat_SOURCES = \
207	cat.c
208
209isl_closure_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
210isl_closure_LDADD = libisl.la
211isl_closure_SOURCES = \
212	closure.c
213
214nodist_pkginclude_HEADERS = \
215	include/isl/config.h \
216	include/isl/stdint.h
217pkginclude_HEADERS = \
218	include/isl/aff.h \
219	include/isl/aff_type.h \
220	include/isl/arg.h \
221	include/isl/ast.h \
222	include/isl/ast_build.h \
223	include/isl/band.h \
224	include/isl/blk.h \
225	include/isl/constraint.h \
226	include/isl/ctx.h \
227	include/isl/dim.h \
228	include/isl/flow.h \
229	include/isl/id.h \
230	include/isl/ilp.h \
231	include/isl/int.h \
232	include/isl/hash.h \
233	include/isl/list.h \
234	include/isl/local_space.h \
235	include/isl/lp.h \
236	include/isl/mat.h \
237	include/isl/map.h \
238	include/isl/map_type.h \
239	include/isl/multi.h \
240	include/isl/obj.h \
241	include/isl/options.h \
242	include/isl/point.h \
243	include/isl/polynomial.h \
244	include/isl/polynomial_type.h \
245	include/isl/printer.h \
246	include/isl/schedule.h \
247	include/isl/seq.h \
248	include/isl/set.h \
249	include/isl/set_type.h \
250	include/isl/space.h \
251	include/isl/stream.h \
252	include/isl/union_map.h \
253	include/isl/union_map_type.h \
254	include/isl/union_set.h \
255	include/isl/union_set_type.h \
256	include/isl/val.h \
257	include/isl/val_gmp.h \
258	include/isl/val_int.h \
259	include/isl/vec.h \
260	include/isl/version.h \
261	include/isl/vertices.h
262
263EXTRA_DIST = \
264	LICENSE \
265	isl_config_post.h \
266	basis_reduction_templ.c \
267	isl_list_templ.c \
268	isl_list_templ.h \
269	isl_map_lexopt_templ.c \
270	isl_multi_templ.c \
271	isl_multi_templ.h \
272	print_templ.c \
273	isl_power_templ.c \
274	isl_pw_templ.c \
275	isl_union_templ.c \
276	isl.py \
277	doc/SubmittingPatches \
278	doc/chicago.bst \
279	doc/chicago.sty \
280	doc/implementation.tex \
281	doc/isl.bib \
282	doc/mypod2latex \
283	doc/manual.tex \
284	doc/user.pod \
285	interface/all.h \
286	interface/isl.py.top \
287	test_inputs
288
289dist-hook:
290	echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID
291	(cd doc; make manual.pdf)
292	cp doc/manual.pdf $(distdir)/doc/
293
294pkgconfigdir=$(pkgconfig_libdir)
295pkgconfig_DATA = $(pkgconfig_libfile)
296
297gitversion.h: @GIT_HEAD@
298	$(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@
299
300install-data-local: $(srcdir)/isl.py
301	@libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
302		 $(builddir)/libisl.la`; \
303	case $$libisl in \
304	'') echo Cannot find isl library name. GDB bindings not installed.;; \
305	*) echo $(INSTALL_DATA) $(srcdir)/isl.py \
306		$(DESTDIR)$(libdir)/$$libisl-gdb.py; \
307	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
308	$(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(libdir)/$$libisl-gdb.py; esac
309