1# makefile for Gambit library.
2
3# Copyright (c) 1994-2018 by Marc Feeley, All Rights Reserved.
4
5herefromroot = lib
6rootfromhere = ..
7SUBDIRS = @RTLIBSUBSYS@
8
9PACKAGE_SHORTNAME = @PACKAGE_SHORTNAME@
10PACKAGE_NAME = @PACKAGE_NAME@
11PACKAGE_VERSION = @PACKAGE_VERSION@
12PACKAGE_STRING = @PACKAGE_STRING@
13PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14PACKAGE_TARNAME = @PACKAGE_TARNAME@
15
16@SET_MAKE@
17
18srcdir = @srcdir@
19VPATH = @srcdir@
20srcdirpfx = @srcdirpfx@
21
22C_COMPILER = @C_COMPILER_MF@
23C_PREPROC = @C_PREPROC_MF@
24FLAGS_OBJ =  -pipe -O2 -fno-strict-aliasing
25FLAGS_DYN =  -pipe -O2 -fno-strict-aliasing
26FLAGS_LIB = @FLAGS_LIB_MF@
27FLAGS_EXE = @FLAGS_EXE_MF@
28FLAGS_OPT = @FLAGS_OPT_MF@
29FLAGS_OPT_RTS = @FLAGS_OPT_RTS_MF@
30DEFS = @DEFS@
31LIBS = @LIBS@
32
33GAMBITLIB_DEFS = @GAMBITLIB_DEFS_MF@
34LIB_PREFIX = @LIB_PREFIX@
35LIB_VERSION_SUFFIX = @LIB_VERSION_SUFFIX@
36LIB_MAJOR_VERSION_SUFFIX = @LIB_MAJOR_VERSION_SUFFIX@
37
38LIB_EXTENSION = @LIB_EXTENSION@
39GAMBITLIB = @GAMBITLIB@
40GAMBITGSCLIB = @GAMBITGSCLIB@
41GAMBITGSILIB = @GAMBITGSILIB@
42INSTALL = @INSTALL@
43INSTALL_DATA = @INSTALL_DATA@
44INSTALL_LIB = @INSTALL_LIB@
45INSTALL_PROGRAM = @INSTALL_PROGRAM@
46LN_S = @LN_S@
47RANLIB = @RANLIB@
48AR = @AR@
49RC = @RC@
50GIT = @GIT@
51HG = @HG@
52
53prefix = @prefix@
54exec_prefix = @exec_prefix@
55includedir = @includedir@
56libdir = @libdir@
57bindir = @bindir@
58docdir = @docdir@
59infodir = @infodir@
60emacsdir = @emacsdir@
61libexecdir = @libexecdir@
62datarootdir = @datarootdir@
63datadir = @datadir@
64htmldir = @htmldir@
65dvidir = @dvidir@
66pdfdir = @pdfdir@
67psdir = @psdir@
68localedir = @localedir@
69mandir = @mandir@
70
71.SUFFIXES:
72.SUFFIXES: .scm .c @obj@
73
74NORMAL_C = main.c setup.c mem.c os_setup.c os_base.c os_thread.c os_time.c os_shell.c os_files.c os_dyn.c os_tty.c os_io.c c_intf.c actlog.c
75NORMAL_CPP =
76NORMAL_H = setup.h mem.h os.h os_setup.h os_base.h os_thread.h os_time.h os_shell.h os_files.h os_dyn.h os_tty.h os_io.h c_intf.h actlog.h dead.h
77NORMAL_O = main@obj@ setup@obj@ mem@obj@ c_intf@obj@ actlog@obj@ os_setup@obj@ os_base@obj@ os_thread@obj@ os_time@obj@ os_shell@obj@ os_files@obj@ os_dyn@obj@ os_tty@obj@ os_io@obj@
78NORMAL_O_PLUS = +main@obj@ +setup@obj@ +mem@obj@ +c_intf@obj@ +actlog@obj@ +os_setup@obj@ +os_base@obj@ +os_thread@obj@ +os_time@obj@ +os_shell@obj@ +os_files@obj@ +os_dyn@obj@ +os_tty@obj@ +os_io@obj@
79NORMAL_O_COMMA = main@obj@,setup@obj@,mem@obj@,c_intf@obj@,actlog@obj@,os_setup@obj@,os_base@obj@,os_thread@obj@,os_time@obj@,os_shell@obj@,os_files@obj@,os_dyn@obj@,os_tty@obj@,os_io@obj@
80NORMAL_SOURCES = $(NORMAL_C) $(NORMAL_CPP) $(NORMAL_H)
81
82HEADERS_SCM = "_kernel\#.scm" "_system\#.scm" "_num\#.scm" "_std\#.scm" \
83"_eval\#.scm" "_io\#.scm" "_nonstd\#.scm" "_thread\#.scm" "_repl\#.scm" \
84"_gambit\#.scm" "gambit\#.scm" \
85"r5rs\#.scm" "r4rs\#.scm" "digest\#.scm" \
86_define-syntax.scm _syntax-boot.scm _syntax-case-xform-boot.scm \
87_syntax-case-xform.scm _syntax-common.scm _syntax-pattern.scm \
88_syntax-rules-xform.scm _syntax-template.scm \
89_syntax-xform-boot.scm _syntax-xform.scm \
90_syntax.scm _with-syntax-boot.scm
91MODULES = _kernel _system _num _std \
92_eval _io _nonstd _thread _repl
93MODULES_SCM = _kernel.scm _system.scm _num.scm _std.scm \
94_eval.scm _io.scm _nonstd.scm _thread.scm _repl.scm
95MODULES_C = _kernel.c _system.c _num.c _std.c \
96_eval.c _io.c _nonstd.c _thread.c _repl.c
97MODULES_O = _kernel@obj@ _system@obj@ _num@obj@ _std@obj@ \
98_eval@obj@ _io@obj@ _nonstd@obj@ _thread@obj@ _repl@obj@
99MODULES_O_PLUS = +_kernel@obj@ +_system@obj@ +_num@obj@ +_std@obj@ \
100+_eval@obj@ +_io@obj@ +_nonstd@obj@ +_thread@obj@ +_repl@obj@
101MODULES_O_COMMA = _kernel@obj@,_system@obj@,_num@obj@,_std@obj@,\
102+_eval@obj@,_io@obj@,_nonstd@obj@,_thread@obj@,_repl@obj@
103NORMAL_O_IN_COMPILE_ORDER = main@obj@ os_tty@obj@ c_intf@obj@ actlog@obj@ \
104os_io@obj@ setup@obj@ mem@obj@ os_files@obj@ os_setup@obj@ os_base@obj@ \
105os_thread@obj@ os_time@obj@ os_shell@obj@ os_dyn@obj@
106MODULES_O_IN_COMPILE_ORDER = _io@obj@ _num@obj@ _std@obj@ \
107_repl@obj@ _eval@obj@ _nonstd@obj@ _kernel@obj@ _thread@obj@ _system@obj@
108
109UNIVLIB = $(rootfromhere)/gsc/_t-univ-*.scm $(rootfromhere)/gsc/_univadt.scm
110
111LIBRARIES_SCM = $(HEADERS_SCM) digest.scm syntax-case.scm
112
113LIBRARY = $(LIB_PREFIX)$(GAMBITLIB)$(LIB_EXTENSION)
114LIBRARY_OBJECTS = $(NORMAL_O) $(MODULES_O) _$(GAMBITLIB)@obj@
115LIBRARY_OBJECTS_PLUS = $(NORMAL_O_PLUS) $(MODULES_O_PLUS) +_$(GAMBITLIB)@obj@
116LIBRARY_OBJECTS_COMMA = $(NORMAL_O_COMMA),$(MODULES_O_COMMA),_$(GAMBITLIB)@obj@
117LIBRARY_OBJECTS_IN_COMPILE_ORDER = $(MODULES_O_IN_COMPILE_ORDER) \
118$(NORMAL_O_IN_COMPILE_ORDER) _$(GAMBITLIB)@obj@
119
120LIBRARIES = $(LIBRARY)$(LIB_VERSION_SUFFIX)
121
122LIBRARY_LIBS =
123
124OBJECTS = $(LIBRARY_OBJECTS)
125
126RCFILES = makefile.in header.scm $(MODULES_SCM) sys.scm \
127$(LIBRARIES_SCM) $(NORMAL_SOURCES) check___P check___P.st \
128psyntax69c.pp psyntax69c.ss psyntax73.pp psyntax73.ss \
129syntax-case-build syntax-case-expand-file \
130syntax-case-postlude.scm syntax-case-prelude.scm
131
132GAMBIT_LIB_C = _$(GAMBITLIB).c
133
134GAMBIT_LIB_java = _$(GAMBITLIB).java
135GAMBIT_LIB_js = _$(GAMBITLIB).js
136GAMBIT_LIB_php = _$(GAMBITLIB).php
137GAMBIT_LIB_python = _$(GAMBITLIB).py
138GAMBIT_LIB_ruby = _$(GAMBITLIB).rb
139
140GAMBIT_LIBS_UNIV = $(GAMBIT_LIB_java) $(GAMBIT_LIB_js) $(GAMBIT_LIB_php) $(GAMBIT_LIB_python) $(GAMBIT_LIB_ruby)
141
142GAMBIT_LIBS = $(GAMBIT_LIB_C)
143
144GENDISTFILES = $(MODULES_C) $(GAMBIT_LIB_C)
145
146DISTFILES = $(RCFILES) $(GENDISTFILES)
147
148INSTFILES_LIB_DATA = $(LIBRARIES_SCM) $(GAMBIT_LIBS)
149
150GAMBITDIR_INCLUDE = $(rootfromhere)/include
151GAMBITDIR_LIB = $(rootfromhere)/lib
152GAMBITDIR_LIB_GSI = $(rootfromhere)/gsi
153GAMBITDIR_LIB_GSC = $(rootfromhere)/gsc
154
155BUILD_OBJ_OUTPUT_FILENAME = $*@obj@
156BUILD_OBJ_CC_OPTIONS =  -I$(srcdir) $(DEFS) $(GAMBITLIB_DEFS) -D___PRIMAL
157BUILD_OBJ_INPUT_FILENAMES = $(srcdirpfx)$*.c
158
159PRELUDE_OPT = -prelude "@RTLIB_COND_EXPAND_FEATURES@(\#\#include\"$(srcdirpfx)../lib/header.scm\")"
160
161all:
162
163all-pre: $(LIBRARY) $(GAMBIT_LIBS)
164
165all-post: deselect-gen-for-commit
166
167.scm.c:
168	@SETDLPATHBOOT@ $(rootfromhere)/gsc-boot -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -c @COMPILATION_OPTIONS@ $(PRELUDE_OPT) $(srcdirpfx)$*.scm
169
170$(LIBRARY): $(LIBRARY_OBJECTS_IN_COMPILE_ORDER)
171	rm -f "$(LIBRARY)$(LIB_VERSION_SUFFIX)" "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)" "$(LIBRARY)"
172	@MAKE_LIBRARY@
173	if test "$(LIB_VERSION_SUFFIX)" != ""; then \
174	  $(LN_S) "$(LIBRARY)$(LIB_VERSION_SUFFIX)" "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)"; \
175	  $(LN_S) "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)" "$(LIBRARY)"; \
176	fi
177
178$(GAMBIT_LIB_C): $(MODULES_C)
179	@SETDLPATHBOOT@ $(rootfromhere)/gsc-boot -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -warnings -link -flat -o $@ -preload $(MODULES_C)
180
181$(GAMBIT_LIB_java): $(UNIVLIB) $(MODULES_SCM)
182	@SETDLPATHBOOT@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -target java @COMPILATION_OPTIONS@ $(PRELUDE_OPT) -o $@ $(srcdirpfx)$(rootfromhere)/lib/_univlib.scm
183
184$(GAMBIT_LIB_js): $(UNIVLIB) $(MODULES_SCM)
185	@SETDLPATHBOOT@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -target js @COMPILATION_OPTIONS@ $(PRELUDE_OPT) -o $@ $(srcdirpfx)$(rootfromhere)/lib/_univlib.scm
186
187$(GAMBIT_LIB_php): $(UNIVLIB) $(MODULES_SCM)
188	@SETDLPATHBOOT@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -target php @COMPILATION_OPTIONS@ $(PRELUDE_OPT) -o $@ $(srcdirpfx)$(rootfromhere)/lib/_univlib.scm
189
190$(GAMBIT_LIB_python): $(UNIVLIB) $(MODULES_SCM)
191	@SETDLPATHBOOT@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -target python @COMPILATION_OPTIONS@ $(PRELUDE_OPT) -o $@ $(srcdirpfx)$(rootfromhere)/lib/_univlib.scm
192
193$(GAMBIT_LIB_ruby): $(UNIVLIB) $(MODULES_SCM)
194	@SETDLPATHBOOT@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -target ruby @COMPILATION_OPTIONS@ $(PRELUDE_OPT) -o $@ $(srcdirpfx)$(rootfromhere)/lib/_univlib.scm
195
196$(GAMBIT_LIB_java) $(GAMBIT_LIB_js) $(GAMBIT_LIB_php) $(GAMBIT_LIB_python) $(GAMBIT_LIB_ruby): \
197$(srcdirpfx)$(rootfromhere)/lib/_univlib.scm \
198$(srcdirpfx)$(rootfromhere)/lib/_kernel.scm \
199$(srcdirpfx)$(rootfromhere)/lib/_system.scm \
200$(srcdirpfx)$(rootfromhere)/lib/_num.scm \
201$(srcdirpfx)$(rootfromhere)/lib/_std.scm \
202$(srcdirpfx)$(rootfromhere)/lib/_eval.scm \
203$(srcdirpfx)$(rootfromhere)/lib/_io.scm \
204$(srcdirpfx)$(rootfromhere)/lib/_nonstd.scm \
205$(srcdirpfx)$(rootfromhere)/lib/_thread.scm \
206$(srcdirpfx)$(rootfromhere)/lib/_repl.scm
207
208$(GAMBIT_LIB_java) $(GAMBIT_LIB_js) $(GAMBIT_LIB_php) $(GAMBIT_LIB_python) $(GAMBIT_LIB_ruby) $(MODULES_C): \
209$(srcdirpfx)$(rootfromhere)/lib/header.scm \
210$(srcdirpfx)$(rootfromhere)/lib/gambit\#.scm \
211$(srcdirpfx)$(rootfromhere)/lib/_gambit\#.scm \
212$(srcdirpfx)$(rootfromhere)/lib/_kernel\#.scm \
213$(srcdirpfx)$(rootfromhere)/lib/_system\#.scm \
214$(srcdirpfx)$(rootfromhere)/lib/_num\#.scm \
215$(srcdirpfx)$(rootfromhere)/lib/_std\#.scm \
216$(srcdirpfx)$(rootfromhere)/lib/_eval\#.scm \
217$(srcdirpfx)$(rootfromhere)/lib/_io\#.scm \
218$(srcdirpfx)$(rootfromhere)/lib/_nonstd\#.scm \
219$(srcdirpfx)$(rootfromhere)/lib/_thread\#.scm \
220$(srcdirpfx)$(rootfromhere)/lib/_repl\#.scm \
221$(srcdirpfx)$(rootfromhere)/lib/_define-syntax.scm \
222$(srcdirpfx)$(rootfromhere)/lib/_syntax-boot.scm \
223$(srcdirpfx)$(rootfromhere)/lib/_syntax-case-xform-boot.scm \
224$(srcdirpfx)$(rootfromhere)/lib/_syntax-case-xform.scm \
225$(srcdirpfx)$(rootfromhere)/lib/_syntax-common.scm \
226$(srcdirpfx)$(rootfromhere)/lib/_syntax-pattern.scm \
227$(srcdirpfx)$(rootfromhere)/lib/_syntax-rules-xform.scm \
228$(srcdirpfx)$(rootfromhere)/lib/_syntax-template.scm \
229$(srcdirpfx)$(rootfromhere)/lib/_syntax-xform-boot.scm \
230$(srcdirpfx)$(rootfromhere)/lib/_syntax-xform.scm \
231$(srcdirpfx)$(rootfromhere)/lib/_syntax.scm \
232$(srcdirpfx)$(rootfromhere)/lib/_with-syntax-boot.scm
233
234$(MODULES_O) $(NORMAL_O): $(srcdirpfx)$(rootfromhere)/include/gambit.h
235
236_kernel@obj@: _kernel.c $(srcdirpfx)$(rootfromhere)/include/stamp.h os.h os_setup.h os_base.h os_time.h os_shell.h os_files.h os_dyn.h os_tty.h os_io.h setup.h mem.h c_intf.h
237	@BUILD_OBJ@ -D___LIBRARY
238
239_system@obj@: _system.c
240	@BUILD_OBJ@ -D___LIBRARY
241
242_num@obj@: _num.c mem.h
243	@BUILD_OBJ@ -D___LIBRARY
244
245_std@obj@: _std.c os.h
246	@BUILD_OBJ@ -D___LIBRARY
247
248_eval@obj@: _eval.c
249	@BUILD_OBJ@ -D___LIBRARY
250
251_io@obj@: _io.c
252	@BUILD_OBJ@ -D___LIBRARY
253
254_nonstd@obj@: _nonstd.c
255	@BUILD_OBJ@ -D___LIBRARY
256
257_thread@obj@: _thread.c
258	@BUILD_OBJ@ -D___LIBRARY
259
260_repl@obj@: _repl.c
261	@BUILD_OBJ@ -D___LIBRARY
262
263_$(GAMBITLIB)@obj@: $(GAMBIT_LIB_C)
264	@BUILD_OBJ@ -D___LIBRARY
265
266main@obj@: main.c os.h os_setup.h os_base.h os_shell.h setup.h
267	@BUILD_OBJ_RTS@ -D___LIBRARY
268
269setup@obj@: setup.c os.h os_setup.h os_base.h os_files.h os_dyn.h os_thread.h setup.h mem.h c_intf.h
270	@BUILD_OBJ_RTS@ -D___LIBRARY
271
272mem@obj@: mem.c os.h os_setup.h os_base.h os_time.h setup.h mem.h c_intf.h actlog.h
273	@BUILD_OBJ_RTS@ -D___LIBRARY
274
275c_intf@obj@: c_intf.c os.h os_base.h os_dyn.h setup.h mem.h c_intf.h
276	@BUILD_OBJ_RTS@ -D___LIBRARY
277
278actlog@obj@: actlog.c os.h os_base.h os_time.h actlog.h
279	@BUILD_OBJ_RTS@ -D___LIBRARY
280
281os_setup@obj@: os_setup.c os.h os_setup.h os_thread.h os_base.h os_time.h os_shell.h os_files.h os_dyn.h os_tty.h os_io.h setup.h mem.h c_intf.h
282	@BUILD_OBJ_RTS@ -D___LIBRARY
283
284os_base@obj@: os_base.c os.h os_base.h setup.h
285	@BUILD_OBJ_RTS@ -D___LIBRARY
286
287os_thread@obj@: os_thread.c os.h os_base.h os_thread.h
288	@BUILD_OBJ_RTS@ -D___LIBRARY
289
290os_time@obj@: os_time.c os.h os_thread.h os_base.h os_time.h
291	@BUILD_OBJ_RTS@ -D___LIBRARY
292
293os_shell@obj@: os_shell.c os.h os_setup.h os_base.h os_shell.h os_files.h
294	@BUILD_OBJ_RTS@ -D___LIBRARY
295
296os_files@obj@: os_files.c os.h os_base.h os_shell.h os_files.h setup.h
297	@BUILD_OBJ_RTS@ -D___LIBRARY
298
299os_dyn@obj@: os_dyn.c os.h os_base.h os_shell.h os_files.h os_dyn.h
300	@BUILD_OBJ_RTS@ -D___LIBRARY
301
302os_tty@obj@: os_tty.c os.h os_setup.h os_thread.h os_base.h os_tty.h os_shell.h os_io.h mem.h c_intf.h
303	@BUILD_OBJ_RTS@ -D___LIBRARY
304
305os_io@obj@: os_io.c os.h os_setup.h os_base.h os_io.h os_tty.h os_shell.h os_files.h setup.h c_intf.h
306	@BUILD_OBJ_RTS@ -D___LIBRARY
307
308bootstrap-pre:
309
310bootstrap-post:
311	if test "@ENABLE_SHARED@" = "yes"; then \
312	  cp $(LIBRARY)$(LIB_VERSION_SUFFIX) $(rootfromhere)/$(LIBRARY)$(LIB_VERSION_SUFFIX); \
313	  if test "$(LIB_VERSION_SUFFIX)" != ""; then \
314	    cd $(rootfromhere); \
315	    $(LN_S) "$(LIBRARY)$(LIB_VERSION_SUFFIX)" "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)"; \
316	    $(LN_S) "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)" "$(LIBRARY)"; \
317	  fi \
318	fi
319
320install-pre:
321
322install-post-comp-sc: all
323	@echo "*** Compiling ~~lib/syntax-case.scm (this may take a while)"
324	rm -f syntax-case.o*
325	@SETDLPATH@ $(srcdirpfx)$(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -warnings syntax-case
326
327install-post: all
328	c_libdir="$(DESTDIR)$(prefix)/lib"; \
329	i_libdir="$(DESTDIR)$(libdir)"; \
330	t_libdir="$$i_libdir"; \
331	$(srcdirpfx)$(rootfromhere)/mkidirs "$$i_libdir"; \
332	if test "@ENABLE_SYMLINKS@" = "yes"; then \
333	  $(srcdirpfx)$(rootfromhere)/mkidirs "$$c_libdir"; \
334	  t_libdir="$$c_libdir"; \
335	fi; \
336	for file in $(INSTFILES_LIB_DATA); do \
337	  $(INSTALL_DATA) "$$file" "$$t_libdir/$$file"; \
338	done; \
339	for file in $(LIBRARIES); do \
340	  $(INSTALL_LIB) "$$file" "$$t_libdir/$$file"; \
341	  @FIXLIB@ "$$t_libdir/$$file"; \
342	done; \
343	if test "$(LIB_VERSION_SUFFIX)" != ""; then \
344	  (cd "$$t_libdir" && $(LN_S) "$(LIBRARY)$(LIB_VERSION_SUFFIX)" "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)" && $(LN_S) "$(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX)" "$(LIBRARY)"); \
345	fi; \
346	if test "$$t_libdir" != "$$i_libdir"; then \
347	  r_libdir=`$(rootfromhere)/relpath "$$t_libdir" "$$i_libdir" @ENABLE_MULTIPLE_VERSIONS@`; \
348	  for file in $(INSTFILES_LIB_DATA) $(LIBRARIES); do \
349	    (cd "$$i_libdir" && $(LN_S) "$$r_libdir$$file" "$$file"); \
350	  done; \
351	fi
352
353uninstall-pre:
354
355uninstall-post:
356	c_libdir="$(DESTDIR)$(prefix)/lib"; \
357	i_libdir="$(DESTDIR)$(libdir)"; \
358	t_libdir="$$i_libdir"; \
359	if test "@ENABLE_SYMLINKS@" = "yes"; then \
360	  t_libdir="$$c_libdir"; \
361	fi; \
362	for file in $(INSTFILES_LIB_DATA) $(LIBRARIES) $(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX) $(LIBRARY); do \
363	  rm -f "$$t_libdir/$$file"; \
364	done; \
365	if test "$$t_libdir" != "$$i_libdir"; then \
366	  for file in $(INSTFILES_LIB_DATA) $(LIBRARIES) $(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX) $(LIBRARY); do \
367	    rm -f "$$i_libdir/$$file"; \
368	  done; \
369	fi; \
370	rmdir "$$t_libdir" 2> /dev/null; \
371	if test "$$t_libdir" != "$$i_libdir"; then \
372	  rmdir "$$i_libdir" 2> /dev/null; \
373	fi
374
375select-gen-for-commit-pre:
376
377select-gen-for-commit-post:
378	if [ -e $(rootfromhere)/.git ]; then $(RC) update-index --no-skip-worktree $(MODULES_C) $(GAMBIT_LIB_C); fi
379
380deselect-gen-for-commit-pre:
381
382deselect-gen-for-commit-post:
383	if [ -e $(rootfromhere)/.git ]; then $(RC) update-index --skip-worktree $(MODULES_C) $(GAMBIT_LIB_C); fi
384
385mostlyclean-pre:
386
387mostlyclean-post:
388	rm -f $(OBJECTS) $(LIBRARY)$(LIB_VERSION_SUFFIX) $(LIBRARY)$(LIB_MAJOR_VERSION_SUFFIX) $(LIBRARY)
389
390clean-pre: mostlyclean-pre
391
392clean-post: mostlyclean-post
393	rm -f *.da *.bb *.bbg *.gcov *.gcno *.gcda $(GAMBIT_LIBS_UNIV)
394
395distclean-pre: clean-pre
396
397distclean-post: clean-post
398
399bootclean-pre: distclean-pre
400
401bootclean-post: distclean-post
402	rm -f $(MODULES_C) $(GAMBIT_LIB_C)
403
404realclean-pre: bootclean-pre
405
406realclean-post: bootclean-post
407	rm -f makefile
408
409rc-setup-pre:
410	$(RC) add $(RCFILES) $(GENDISTFILES)
411
412rc-setup-post:
413
414dist-pre dist-devel-pre:
415	mkdir $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot)
416	chmod 777 $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot)
417	@echo "  Copying distribution files:"
418	@for file in $(DISTFILES); do \
419	  echo "    $(herefromroot)/$$file"; \
420	  ln $(srcdirpfx)$$file $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot) 2> /dev/null \
421	    || cp -p $(srcdirpfx)$$file $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot); \
422	done
423	@echo "    $(herefromroot)/guide"
424	(cd $(srcdir) ; COPYFILE_DISABLE=1 tar cf - guide) | (cd $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot) ; tar xf -)
425
426dist-post dist-devel-post:
427
428all-recursive:
429	@if test -n "@RTLIBSUBSYS@"; then \
430	  for subdir in ""@RTLIBSUBSYS@; do \
431	    (cd $$subdir && $(MAKE) all) || exit 1; \
432	  done \
433	fi
434
435bootstrap-recursive install-recursive uninstall-recursive select-gen-for-commit-recursive deselect-gen-for-commit-recursive mostlyclean-recursive clean-recursive distclean-recursive bootclean-recursive realclean-recursive rc-setup-recursive dist-recursive dist-devel-recursive:
436	@if test -n "$(SUBDIRS)"; then \
437	  for subdir in ""$(SUBDIRS); do \
438	    target=`echo $@ | sed 's/-recursive//'`; \
439	    echo making $$target in $$subdir; \
440	    (cd $$subdir && $(MAKE) $$target) || exit 1; \
441	  done \
442	fi
443
444all: all-post
445
446all-post: all-recursive
447
448all-recursive: all-pre
449
450bootstrap: bootstrap-post
451
452bootstrap-post: bootstrap-recursive
453
454bootstrap-recursive: bootstrap-pre
455
456install: install-post
457
458install-post: install-recursive
459
460install-recursive: install-pre
461
462uninstall: uninstall-post
463
464uninstall-post: uninstall-recursive
465
466uninstall-recursive: uninstall-pre
467
468select-gen-for-commit: select-gen-for-commit-post
469
470select-gen-for-commit-post: select-gen-for-commit-recursive
471
472select-gen-for-commit-recursive: select-gen-for-commit-pre
473
474deselect-gen-for-commit: deselect-gen-for-commit-post
475
476deselect-gen-for-commit-post: deselect-gen-for-commit-recursive
477
478deselect-gen-for-commit-recursive: deselect-gen-for-commit-pre
479
480mostlyclean: mostlyclean-post
481
482mostlyclean-post: mostlyclean-recursive
483
484mostlyclean-recursive: mostlyclean-pre
485
486clean: clean-post
487
488clean-post: clean-recursive
489
490clean-recursive: clean-pre
491
492distclean: distclean-post
493
494distclean-post: distclean-recursive
495
496distclean-recursive: distclean-pre
497
498bootclean: bootclean-post
499
500bootclean-post: bootclean-recursive
501
502bootclean-recursive: bootclean-pre
503
504realclean: realclean-post
505
506realclean-post: realclean-recursive
507
508realclean-recursive: realclean-pre
509
510rc-setup: rc-setup-post
511
512rc-setup-post: rc-setup-recursive
513
514rc-setup-recursive: rc-setup-pre
515
516dist: dist-post
517
518dist-post: dist-recursive
519
520dist-recursive: dist-pre
521
522dist-devel: dist-devel-post
523
524dist-devel-post: dist-devel-recursive
525
526dist-devel-recursive: dist-devel-pre
527
528makefile: makefile.in $(rootfromhere)/config.status
529	cd $(rootfromhere) && CONFIG_FILES=$(herefromroot)/$@ CONFIG_HEADERS= ./config.status
530
531# Tell versions [3.59,3.63) of GNU make not to export all variables.
532# Otherwise a system limit (for SysV at least) may be exceeded.
533.NOEXPORT:
534