pn: allow specification of isl options
[ppn.git] / Makefile.am
blob8cfc62960e6e25e10eb84af877976322366cffd2
1 if BUNDLED_CLOOG
2     MAYBE_CLOOG = cloog
3     CLOOG_ISL_LA = $(top_builddir)/cloog/libcloog-isl.la
4 endif
5 if BUNDLED_BARVINOK
6     MAYBE_BARVINOK = barvinok
7     BARVINOK_LA = $(top_builddir)/barvinok/libbarvinok.la
8 endif
9 if BUNDLED_ISL
10     MAYBE_ISL = isl
11     ISL_LA = $(top_builddir)/isl/libisl.la
12 endif
13 if BUNDLED_PET
14     MAYBE_PET = pet
15     PET_LA = $(top_builddir)/pet/libpet.la
16 endif
17 SUBDIRS = $(MAYBE_ISL) $(MAYBE_PET) $(MAYBE_CLOOG) $(MAYBE_BARVINOK) . tests
19 FORCE:
20 cloog/libcloog-isl.la: FORCE
21         $(MAKE) $(AM_MAKEFLAGS) -C cloog libcloog-isl.la
22 barvinok/libbarvinok.la: FORCE
23         $(MAKE) $(AM_MAKEFLAGS) -C barvinok libbarvinok.la
24 isl/libisl.la: FORCE
25         cd isl; $(MAKE) $(AM_MAKEFLAGS) libisl.la
26 pet/libpet.la: FORCE
27         cd pet; $(MAKE) $(AM_MAKEFLAGS) libpet.la
29 INCLUDES = -I$(srcdir)/include
30 ACLOCAL_AMFLAGS = -I m4
32 LIB_ISL = $(ISL_LA) @ISL_LIBS@
33 LIB_PET = $(PET_LA) @PET_LIBS@
34 LIB_CLOOG_ISL = $(CLOOG_ISL_LA) @CLOOG_LIBS@
36 pkginclude_HEADERS = \
37         include/isa/adg.h \
38         include/isa/pdg.h \
39         include/isa/yaml.h \
40         include/isa/yll.h
41 lib_LTLIBRARIES = libpdg.la libadg.la
42 libpdg_la_SOURCES = \
43         pdg.cc \
44         version.c \
45         version.h \
46         yaml.cc \
47         yll.c
48 libpdg_la_CPPFLAGS = @ISL_CPPFLAGS@
49 libpdg_la_LIBADD = $(LTLIBOBJS) $(LIB_ISL)
50 libpdg_la_LDFLAGS = -release @VERSION@
52 libadg_la_SOURCES = \
53         adg.cc \
54         adg_parse.cc \
55         adg_parse.h \
56         adg_print.cc
57 libadg_la_CPPFLAGS = @ISL_CPPFLAGS@
58 libadg_la_LDFLAGS = @LIBYAML_LDFLAGS@
59 libadg_la_LIBADD = $(LIB_ISL) -lyaml
61 SUIFLIBS = -ldependence -lsuifmath -lbuilder -luseful -lsuif1 -lporky
62 pers_LDADD = $(SUIFLIBS) libpdg.la @OMEGA_PLUS_LIBS@ \
63                 $(LIB_ISL) -lgmp @syck_LIBS@
64 pers_LDFLAGS = @SUIFLDFLAGS@ @OMEGA_PLUS_LDFLAGS@
65 pers_CPPFLAGS = @ISL_CPPFLAGS@ @OMEGA_PLUS_CFLAGS@
66 pers_SOURCES = \
67         condition_tree.h \
68         condition_tree.cc \
69         convert.h \
70         convert.cc \
71         domain.h \
72         domain.cc \
73         dump.h \
74         dump.cc \
75         for_normalize.cc \
76         for_normalize.h \
77         srel.cc \
78         srel.h \
79         suif_inc.h \
80         main.cc
81 nodist_pers_SOURCES = \
82         start_sty.cc \
83         prog_ver.cc
85 sloog_LDADD = libpdg.la $(LIB_CLOOG_ISL) $(SUIFLIBS) \
86               @OMEGA_PLUS_LIBS@ $(LIB_ISL) -lgmp @syck_LIBS@
87 sloog_LDFLAGS = @CLOOG_LDFLAGS@ @SUIFLDFLAGS@ @OMEGA_PLUS_LDFLAGS@
88 sloog_CPPFLAGS = @ISL_CPPFLAGS@ @CLOOG_CPPFLAGS@ @OMEGA_PLUS_CFLAGS@
89 sloog_SOURCES = \
90         build.cc \
91         build.h \
92         condition_tree.h \
93         condition_tree.cc \
94         convert.h \
95         convert.cc \
96         domain.cc \
97         domain.h \
98         dump.cc \
99         dump.h \
100         srel.cc \
101         srel.h \
102         suif_inc.h \
103         sloog.cc
104 nodist_sloog_SOURCES = \
105         start_sty.cc \
106         prog_ver.cc
108 testyaml_CPPFLAGS = @ISL_CPPFLAGS@
109 testyaml_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
110 testyaml_SOURCES = \
111         testyaml.cc
113 da_CPPFLAGS = @ISL_CPPFLAGS@
114 da_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
115 da_SOURCES = \
116         da.cc \
117         da.h \
118         da_options.h \
119         da_options.c \
120         damain.cc \
121         isl_util.c \
122         isl_util.h
124 if USE_SIZE_CLOOG
125 SIZE_CLOOG = \
126         clast_scanner.cc \
127         clast_scanner.h \
128         size_cloog.cc \
129         size_cloog.h
130 SIZE_CLOOG_LDADD = -ldl
131 endif
132 pn_LDADD = libpdg.la $(LIB_CLOOG_ISL) $(BARVINOK_LA) @barvinok_LIBS@ -lgmp \
133            $(SIZE_CLOOG_LDADD) \
134            @syck_LIBS@
135 pn_LDFLAGS = @CLOOG_LDFLAGS@
136 pn_CPPFLAGS = @ISL_CPPFLAGS@ @CLOOG_CPPFLAGS@ @barvinok_CFLAGS@ \
137                 @NTL_CPPFLAGS@
138 pn_SOURCES = \
139         da.cc \
140         da.h \
141         pn.cc \
142         pn_options.c \
143         pn_options.h \
144         isl_util.c \
145         isl_util.h \
146         size_options.c \
147         size_options.h \
148         size.cc \
149         size.h \
150         size_bernstein.cc \
151         size_bernstein.h \
152         $(SIZE_CLOOG) \
153         translation.cc \
154         translation.h
155 EXTRA_pn_SOURCES = size_cloog.cc size_cloog.h
157 mem_LDADD = libpdg.la $(LIB_CLOOG_ISL) \
158             $(LIB_ISL) $(BARVINOK_LA) @barvinok_LIBS@ \
159             @syck_LIBS@
160 mem_LDFLAGS = @CLOOG_LDFLAGS@
161 mem_CPPFLAGS = @ISL_CPPFLAGS@ @CLOOG_CPPFLAGS@ @barvinok_CFLAGS@ \
162                 @NTL_CPPFLAGS@
163 mem_SOURCES = \
164         da.cc \
165         da.h \
166         clast_scanner.cc \
167         clast_scanner.h \
168         mem_options.h \
169         mem_options.c \
170         mem.cc \
171         isl_util.c \
172         isl_util.h
174 mem_bound_LDADD = libpdg.la $(LIB_ISL) $(BARVINOK_LA) @barvinok_LIBS@ -lgmp \
175             @syck_LIBS@
176 mem_bound_CPPFLAGS = @ISL_CPPFLAGS@ @barvinok_CFLAGS@ @NTL_CPPFLAGS@
177 mem_bound_SOURCES = \
178         da.cc \
179         da.h \
180         mem_options.h \
181         mem_options.c \
182         mem_bound.cc \
183         translation.cc \
184         translation.h \
185         isl_util.c \
186         isl_util.h
188 dependence_graph_relation_CPPFLAGS = @ISL_CPPFLAGS@
189 dependence_graph_relation_LDADD = libpdg.la \
190             $(LIB_ISL) -lgmp @syck_LIBS@
191 dependence_graph_relation_SOURCES = \
192         da.cc \
193         da.h \
194         dependence_graph_relation_options.h \
195         dependence_graph_relation_options.c \
196         dependence_graph_relation.cc \
197         isl_util.c \
198         isl_util.h
200 translate_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
201 translate_LDFLAGS =
202 translate_CPPFLAGS = @ISL_CPPFLAGS@
203 translate_SOURCES = \
204         translate.cc \
205         translation.cc \
206         translation.h \
207         isl_util.c \
208         isl_util.h
210 dump_sizes_CPPFLAGS = @ISL_CPPFLAGS@
211 dump_sizes_LDADD = libpdg.la $(LIB_ISL) -lgmp -lgmp @syck_LIBS@
212 dump_sizes_SOURCES = \
213         dump_sizes.cc
215 dump_dependences_CPPFLAGS = @ISL_CPPFLAGS@
216 dump_dependences_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
217 dump_dependences_SOURCES = \
218         dump_dependences.cc
220 dump_schedules_CPPFLAGS = @ISL_CPPFLAGS@
221 dump_schedules_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
222 dump_schedules_SOURCES = \
223         dump_schedules.cc
225 dump_model_CPPFLAGS = @ISL_CPPFLAGS@
226 dump_model_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
227 dump_model_SOURCES = \
228         dump_model.cc
230 channel_summary_CPPFLAGS = @ISL_CPPFLAGS@
231 channel_summary_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
232 channel_summary_SOURCES = \
233         channel_summary.cc
235 check_channel_sizes_LDADD = libpdg.la $(LIB_CLOOG_ISL) \
236                             $(LIB_ISL) -lgmp @syck_LIBS@
237 check_channel_sizes_LDFLAGS = @CLOOG_LDFLAGS@
238 check_channel_sizes_CPPFLAGS = @ISL_CPPFLAGS@ @CLOOG_CPPFLAGS@
239 check_channel_sizes_SOURCES = \
240         check_channel_sizes.cc \
241         clast_scanner.cc \
242         clast_scanner.h
244 pn2dot_CPPFLAGS = @ISL_CPPFLAGS@
245 pn2dot_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
246 pn2dot_SOURCES = \
247         pn2dot.cc
249 pn2adg_LDADD = libadg.la libpdg.la $(LIB_CLOOG_ISL) $(LIB_ISL) -lgmp \
250                  @libxml2_LIBS@ @syck_LIBS@
251 pn2adg_CPPFLAGS = @ISL_CPPFLAGS@
252 pn2adg_CXXFLAGS = @CLOOG_CPPFLAGS@ @LIBYAML_CPPFLAGS@ @libxml2_CFLAGS@
253 pn2adg_LDFLAGS = @CLOOG_LDFLAGS@ @LIBYAML_LDFLAGS@
254 pn2adg_SOURCES = \
255         adg_xml.h \
256         adg_xml.cc \
257         cloog_util.cc \
258         cloog_util.h \
259         xml_AST.cc \
260         xml_AST.h \
261         pn2adg_options.h \
262         pn2adg_options.c \
263         pn2adg.cc
265 adg_cmp_LDADD = libadg.la $(LIB_ISL) -lgmp
266 adg_cmp_CPPFLAGS = @ISL_CPPFLAGS@
267 adg_cmp_CXXFLAGS = @LIBYAML_CPPFLAGS@
268 adg_cmp_LDFLAGS = @LIBYAML_LDFLAGS@
269 adg_cmp_SOURCES = \
270         adg_cmp_options.h \
271         adg_cmp_options.c \
272         adg_cmp.cc
274 adg2dot_LDADD = libadg.la $(LIB_ISL) -lgmp
275 adg2dot_CPPFLAGS = @ISL_CPPFLAGS@
276 adg2dot_CXXFLAGS = @LIBYAML_CPPFLAGS@
277 adg2dot_LDFLAGS = @LIBYAML_LDFLAGS@
278 adg2dot_SOURCES = \
279         adg2dot_options.h \
280         adg2dot_options.c \
281         adg2dot.cc
283 eqv_CPPFLAGS = @ISL_CPPFLAGS@
284 eqv_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
285 eqv_SOURCES = \
286         dependence_graph.h \
287         dependence_graph.cc \
288         eqv_options.h \
289         eqv_options.c \
290         eqv.cc
292 eqv2_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@ \
293         @VCSN_LDFLAGS@ -lvcsn-common -lbench \
294         @OMEGA_PLUS_LDFLAGS@ @OMEGA_PLUS_LIBS@
295 eqv2_CPPFLAGS = @ISL_CPPFLAGS@ @VCSN_CFLAGS@ @OMEGA_PLUS_CFLAGS@
296 eqv2_SOURCES = \
297         dependence_graph.h \
298         dependence_graph.cc \
299         msa.h \
300         msa.cc \
301         eqv2_options.h \
302         eqv2_options.c \
303         eqv2.cc
305 eqv3_LDADD = libpdg.la $(LIB_ISL) -lgmp @syck_LIBS@
306 eqv3_CPPFLAGS = @ISL_CPPFLAGS@ @VCSN_CFLAGS@
307 eqv3_SOURCES = \
308         dependence_graph.h \
309         dependence_graph.cc \
310         msa.h \
311         msa.cc \
312         eqv3_options.h \
313         eqv3_options.c \
314         eqv3.cc
316 eqv_cmp_CFLAGS = @ISL_CPPFLAGS@ @LIBYAML_CPPFLAGS@
317 eqv_cmp_LDFLAGS = @LIBYAML_LDFLAGS@
318 eqv_cmp_LDADD = $(LIB_ISL) -lyaml
319 eqv_cmp_SOURCES = eqv_cmp.c
321 c2pdg_LDADD = libpdg.la $(LIB_PET) $(LIB_ISL) -lgmp @syck_LIBS@
322 c2pdg_CPPFLAGS = @ISL_CPPFLAGS@ @PET_CFLAGS@
323 c2pdg_SOURCES = \
324         c2pdg_options.h \
325         c2pdg_options.c \
326         c2pdg.cc
328 bin_PROGRAMS = da translate @extra_bin_programs@ pn2dot adg2dot mem_bound
329 EXTRA_PROGRAMS = pers sloog pn mem da translate check_channel_sizes \
330                  pn2adg eqv2 c2pdg
331 noinst_PROGRAMS = testyaml dump_sizes dump_dependences channel_summary \
332         @extra_noinst_programs@ eqv dump_schedules \
333         dependence_graph_relation eqv3 dump_model eqv_cmp \
334         adg_cmp
336 dist-hook:
337         echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID
339 start_sty.cc:   Makefile
340         @echo Creating new start_sty.cc file. 2>&1
341         @ver_create_start_sty_cc@ start_sty.cc '$(SUIFLIBS)'
342 prog_ver.cc:    $(OBJS)
343         @echo Creating new prog_ver.cc file. 2>&1
344         @rm -f prog_ver.cc
345         @ver_create_ver_cc@ prog_ver.cc prog
347 gitversion.h: @GIT_HEAD@
348         echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@