First commit : 0.14.0 version (with roadmap in doc instead of
[cloog.git] / autoconf / makefile.in
bloba136e89bd05bb1a9ae44feae64a795b7f713a07c
2 # /**-------------------------------------------------------------------**
3 # ** CLooG **
4 # **-------------------------------------------------------------------**
5 # ** makefile.in **
6 # **-------------------------------------------------------------------**
7 # ** First version: october 25th 2001 **
8 # **-------------------------------------------------------------------**/
10 # makefile.in (or makefile if generated) of CLooG, the Chunky LOOp Generator.
11 # makefile.in is not a makefile, you must run the 'configure' shellscript to
12 # generate the makefile thanks to this file.
14 #/*****************************************************************************
15 # * CLooG : the Chunky Loop Generator (experimental) *
16 # *****************************************************************************
17 # * *
18 # * Copyright (C) 2001 Cedric Bastoul *
19 # * *
20 # * This is free software; you can redistribute it and/or modify it under the *
21 # * terms of the GNU General Public License as published by the Free Software *
22 # * Foundation; either version 2 of the License, or (at your option) any *
23 # * later version. *
24 # * *
25 # * This software is distributed in the hope that it will be useful, but *
26 # * WITHOUT ANY WARRANTY; without even the implied warranty of *
27 # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
28 # * Public License for more details. *
29 # * *
30 # * You should have received a copy of the GNU General Public License along *
31 # * with software; if not, write to the Free Software Foundation, Inc., *
32 # * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
33 # * *
34 # * CLooG, the Chunky Loop Generator *
35 # * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
36 # * *
37 # *****************************************************************************/
40 #/*****************************************************************************
41 # * Variables substituted with configure *
42 # *****************************************************************************/
45 # CLooG's version.
46 RELEASE = @RELEASE@
47 # Target architecture and system
48 TARGET = @target@
49 # C compiler.
50 CC = @CC@
51 # cpp flags
52 CPPFLAGS = @CPPFLAGS@
53 # Tool to create symbolic links.
54 LN_S = @LN_S@
55 # Tool to provide speed access to archives.
56 RANLIB = @RANLIB@
57 # Shared library extension
58 SHEXT = @SHEXT@
59 # Executable suffix
60 EXEC_SUFFIX = @EXEC_SUFFIX@
61 # Extra flags
62 EXTRA_FLAGS = @EXTRA_FLAGS@
63 # libraries
64 LIBS = @LIBS@
65 # Extra libraries
66 EXTRA_LIBS = @EXTRA_LIBS@
67 # PolyLib library directory.
68 POLYLIB_LIB = @POLYLIB_LIB@
69 # Architecture-independent installation directory.
70 prefix = @prefix@
71 # Architecture-dependent installation directory.
72 exec_prefix = @exec_prefix@
73 # Installation software.
74 INSTALL = @INSTALL@
75 # Packages to build.
76 all : @PACKAGES@
77 # Packages to install.
78 all_install : @INSTALL_PACKAGES@
81 #/*****************************************************************************
82 # * CLooG's variables *
83 # *****************************************************************************/
86 # Directory of CLooG's sources (.c).
87 CLOOG_SRC = ./source
88 # Directory of CLooG's include (.h).
89 CLOOG_INC = ./include
90 # Directory for object files and software and library before installation, its
91 # name depends on architecture and on operating system.
92 CLOOG_OBJ = ./obj_$(TARGET)
93 # CLooG's installation subdirectories.
94 CLOOG_INS_BIN = $(exec_prefix)/bin
95 CLOOG_INS_LIB = $(exec_prefix)/lib
96 CLOOG_INS_INC = $(prefix)/include
99 #/*****************************************************************************
100 # * Compiler and linker options *
101 # *****************************************************************************/
104 INCFLAGS = -I $(CLOOG_INC)
105 LDFLAGS = @LDFLAGS@ $(LIBS) $(EXTRA_LIBS) # -static
106 CFLAGS = -c -Wall $(INCFLAGS) $(CPPFLAGS) \
107 -fomit-frame-pointer -O2 $(EXTRA_FLAGS)
110 #/*****************************************************************************
111 # * Rules *
112 # *****************************************************************************/
115 OBJ = $(CLOOG_OBJ)/cloog.o $(CLOOG_OBJ)/program.o $(CLOOG_OBJ)/loop.o \
116 $(CLOOG_OBJ)/pprint.o $(CLOOG_OBJ)/names.o $(CLOOG_OBJ)/statement.o \
117 $(CLOOG_OBJ)/domain.o $(CLOOG_OBJ)/matrix.o $(CLOOG_OBJ)/block.o \
118 $(CLOOG_OBJ)/options.o
120 cloog: $(CLOOG_OBJ) $(OBJ)
121 @echo " /*-----------------------------------------------*"
122 @echo " * MAKING CLooG (soft) *"
123 @echo " *-----------------------------------------------*/"
124 $(CC) $(OBJ) -o $(CLOOG_OBJ)/cloog$(EXEC_SUFFIX) $(LDFLAGS)
126 cloogsharedlib: $(CLOOG_OBJ) $(OBJ)
127 @echo " /*-----------------------------------------------*"
128 @echo " * MAKING ClooG (shared lib) *"
129 @echo " *-----------------------------------------------*/"
130 $(LD) $(OBJ) -o $(CLOOG_OBJ)/libcloog.$(SHEXT).$(RELEASE) \
131 -lc -shared -fPIC $(LDFLAGS)
132 $(LDCONFIG)
134 cloogstaticlib: $(CLOOG_OBJ) $(OBJ)
135 @echo " /*-----------------------------------------------*"
136 @echo " * MAKING ClooG (static lib) *"
137 @echo " *-----------------------------------------------*/"
138 cp $(POLYLIB_LIB)/lib@cl_cv_polylib@.a \
139 $(CLOOG_OBJ)/libcloog.a.$(RELEASE)
140 $(AR) q $(CLOOG_OBJ)/libcloog.a.$(RELEASE) $(OBJ)
141 $(RANLIB) $(CLOOG_OBJ)/libcloog.a.$(RELEASE)
143 # /-------statement------\
144 # | | |
145 # | | matrix |
146 # | | | | |
147 # | /----block | |
148 # | | | | |
149 # options | | /--+---domain |
150 # | | | | | | | | | |
151 # | | | | | | | | | |
152 # | | | \--+--+--+--/ | | |
153 # | | | | | | |
154 # | | | loop | | |
155 # | | | | | | | |
156 # | | \--+--/ | | | |
157 # | | | | | | |
158 # | | pprint | | | | names
159 # | | | | | | | |
160 # | \----+------+------+-----+----+-----/
161 # | |
162 # | program
163 # | |
164 # \-------+-------/ /*-------------------------*
165 # | * CLooG's dependence tree *
166 # cloog *-------------------------*/
168 $(CLOOG_OBJ)/cloog.o: $(CLOOG_SRC)/cloog.c $(CLOOG_INC)/cloog/cloog.h \
169 $(CLOOG_INC)/cloog/options.h $(CLOOG_INC)/cloog/program.h
170 $(CC) $(CFLAGS) $(CLOOG_SRC)/cloog.c -o $(CLOOG_OBJ)/cloog.o
172 $(CLOOG_OBJ)/options.o: $(CLOOG_SRC)/options.c $(CLOOG_INC)/cloog/options.h
173 $(CC) $(CFLAGS) $(CLOOG_SRC)/options.c -o $(CLOOG_OBJ)/options.o
175 $(CLOOG_OBJ)/program.o: $(CLOOG_SRC)/program.c $(CLOOG_INC)/cloog/program.h \
176 $(CLOOG_INC)/cloog/options.h $(CLOOG_INC)/cloog/pprint.h \
177 $(CLOOG_INC)/cloog/loop.h $(CLOOG_INC)/cloog/domain.h \
178 $(CLOOG_INC)/cloog/names.h $(CLOOG_INC)/cloog/statement.h \
179 $(CLOOG_INC)/cloog/matrix.h $(CLOOG_INC)/cloog/block.h
180 $(CC) $(CFLAGS) $(CLOOG_SRC)/program.c -o $(CLOOG_OBJ)/program.o
182 $(CLOOG_OBJ)/loop.o: $(CLOOG_SRC)/loop.c $(CLOOG_INC)/cloog/loop.h \
183 $(CLOOG_INC)/cloog/options.h $(CLOOG_INC)/cloog/domain.h \
184 $(CLOOG_INC)/cloog/statement.h $(CLOOG_INC)/cloog/block.h
185 $(CC) $(CFLAGS) $(CLOOG_SRC)/loop.c -o $(CLOOG_OBJ)/loop.o
187 $(CLOOG_OBJ)/pprint.o: $(CLOOG_SRC)/pprint.c $(CLOOG_INC)/cloog/pprint.h \
188 $(CLOOG_INC)/cloog/options.h $(CLOOG_INC)/cloog/loop.h
189 $(CC) $(CFLAGS) $(CLOOG_SRC)/pprint.c -o $(CLOOG_OBJ)/pprint.o
191 $(CLOOG_OBJ)/names.o: $(CLOOG_SRC)/names.c $(CLOOG_INC)/cloog/names.h
192 $(CC) $(CFLAGS) $(CLOOG_SRC)/names.c -o $(CLOOG_OBJ)/names.o
194 $(CLOOG_OBJ)/domain.o: $(CLOOG_SRC)/domain.c $(CLOOG_INC)/cloog/domain.h \
195 $(CLOOG_INC)/cloog/matrix.h
196 $(CC) $(CFLAGS) $(CLOOG_SRC)/domain.c -o $(CLOOG_OBJ)/domain.o
198 $(CLOOG_OBJ)/matrix.o: $(CLOOG_SRC)/matrix.c $(CLOOG_INC)/cloog/matrix.h
199 $(CC) $(CFLAGS) $(CLOOG_SRC)/matrix.c -o $(CLOOG_OBJ)/matrix.o
201 $(CLOOG_OBJ)/statement.o: $(CLOOG_SRC)/statement.c \
202 $(CLOOG_INC)/cloog/statement.h
203 $(CC) $(CFLAGS) $(CLOOG_SRC)/statement.c -o $(CLOOG_OBJ)/statement.o
205 $(CLOOG_OBJ)/block.o: $(CLOOG_SRC)/block.c \
206 $(CLOOG_INC)/cloog/block.h $(CLOOG_INC)/cloog/matrix.h \
207 $(CLOOG_INC)/cloog/statement.h
208 $(CC) $(CFLAGS) $(CLOOG_SRC)/block.c -o $(CLOOG_OBJ)/block.o
210 $(CLOOG_OBJ):
211 $(INSTALL) -d $(CLOOG_OBJ)
213 clean:
214 @echo " /*-----------------------------------------------*"
215 @echo " * CLEANING CLooG *"
216 @echo " *-----------------------------------------------*/"
217 rm -rf $(CLOOG_OBJ)
218 rm -f core
220 distclean: clean
221 @echo " /*-----------------------------------------------*"
222 @echo " * DISTCLEANING CLooG *"
223 @echo " *-----------------------------------------------*/"
224 rm -f config.cache config.log config.status makefile autoconf/Doxyfile
225 rm -rf autom4te.cache ./include/cloog/cloog.h
227 install: all_install
229 install_cloog:
230 @echo " /*-----------------------------------------------*"
231 @echo " * INSTALLING CLooG (soft) *"
232 @echo " *-----------------------------------------------*/"
233 ($(INSTALL) -d $(CLOOG_INS_BIN) && \
234 $(INSTALL) $(CLOOG_OBJ)/cloog$(EXEC_SUFFIX) $(CLOOG_INS_BIN))
236 install_preparation:
237 ($(INSTALL) -d $(CLOOG_INS_INC) && \
238 $(INSTALL) -d $(CLOOG_INS_INC)/cloog && \
239 $(INSTALL) $(CLOOG_INC)/cloog/*.h $(CLOOG_INS_INC)/cloog)
241 install_cloogsharedlib: install_preparation
242 @echo " /*-----------------------------------------------*"
243 @echo " * INSTALLING CLooG (shared lib) *"
244 @echo " *-----------------------------------------------*/"
245 rm -f $(CLOOG_INS_LIB)/libcloog.$(SHEXT)
246 ($(INSTALL) -d $(CLOOG_INS_LIB) && \
247 $(INSTALL) $(CLOOG_OBJ)/libcloog.$(SHEXT).$(RELEASE) \
248 $(CLOOG_INS_LIB) && \
249 $(LN_S) $(CLOOG_INS_LIB)/libcloog.$(SHEXT).$(RELEASE) \
250 $(CLOOG_INS_LIB)/libcloog.$(SHEXT))
252 install_cloogstaticlib: install_preparation
253 @echo " /*-----------------------------------------------*"
254 @echo " * INSTALLING CLooG (static lib) *"
255 @echo " *-----------------------------------------------*/"
256 rm -f $(CLOOG_INS_LIB)/libcloog.a
257 ($(INSTALL) -d $(CLOOG_INS_LIB) && \
258 $(INSTALL) $(CLOOG_OBJ)/libcloog.a.$(RELEASE) \
259 $(CLOOG_INS_LIB) && \
260 $(LN_S) $(CLOOG_INS_LIB)/libcloog.a.$(RELEASE) \
261 $(CLOOG_INS_LIB)/libcloog.a)
263 check:
264 $(MAKE) test -C test
266 valcheck:
267 $(MAKE) valgrind -C test
269 uninstall:
270 @echo " /*-----------------------------------------------*"
271 @echo " * UNINSTALLING CLooG *"
272 @echo " *-----------------------------------------------*/"
273 rm -f $(CLOOG_INS_LIB)/libcloog*
274 rm -rf $(CLOOG_INS_INC)/cloog
275 rm -f $(CLOOG_INS_BIN)/cloog
277 total:
278 @echo " /*-----------------------------------------------*"
279 @echo " * CLooG *"
280 @echo " *-----------------------------------------------*/"
281 $(MAKE) uninstall
282 $(MAKE) clean
283 $(MAKE)
284 $(MAKE) install
286 doc:
287 @echo " /*-----------------------------------------------*"
288 @echo " * Generating CLooG's documentation *"
289 @echo " *-----------------------------------------------*/"
290 doxygen ./autoconf/Doxyfile
292 tgz: distclean
293 (cd .. && \
294 tar cvf cloog-$(RELEASE).tar cloog-$(RELEASE) && \
295 gzip cloog-$(RELEASE).tar)