Add missing logic for 'prebuilt' target
[gambit-c.git] / gsc / makefile.in
blobe0a24ebe1d3e4b0b5b36590aec7796580a88720c
1 # makefile for Gambit-C compiler.
3 # Copyright (c) 1994-2009 by Marc Feeley, All Rights Reserved.
5 herefromroot = gsc
6 rootfromhere = ..
7 SUBDIRS =
9 PACKAGE_SHORTNAME = @PACKAGE_SHORTNAME@
10 PACKAGE_NAME = @PACKAGE_NAME@
11 PACKAGE_VERSION = @PACKAGE_VERSION@
12 PACKAGE_STRING = @PACKAGE_STRING@
13 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14 PACKAGE_TARNAME = @PACKAGE_TARNAME@
16 @SET_MAKE@
18 srcdir = @srcdir@
19 VPATH = @srcdir@
20 srcdirpfx = @srcdirpfx@
22 C_COMPILER = @C_COMPILER_MF@
23 C_PREPROC = @C_PREPROC_MF@
24 FLAGS_OBJ = @FLAGS_OBJ_MF@
25 FLAGS_DYN = @FLAGS_DYN_MF@
26 FLAGS_LIB = @FLAGS_LIB_MF@
27 FLAGS_EXE = @FLAGS_EXE_MF@
28 DEFS = @DEFS@
29 LIBS = @LIBS@
31 GAMBCLIB_DEFS = @GAMBCLIB_DEFS_MF@
32 LIB_PREFIX = @LIB_PREFIX@
33 LIB_EXTENSION = @LIB_EXTENSION@
34 GAMBCLIB = @GAMBCLIB@
35 GAMBCGSCLIB = @GAMBCGSCLIB@
36 GAMBCGSILIB = @GAMBCGSILIB@
37 INSTALL = @INSTALL@
38 INSTALL_DATA = @INSTALL_DATA@
39 INSTALL_LIB = @INSTALL_LIB@
40 INSTALL_PROGRAM = @INSTALL_PROGRAM@
41 LN_S = @LN_S@
42 RANLIB = @RANLIB@
43 RC = @RC@
44 GIT = @GIT@
45 HG = @HG@
47 prefix = @prefix@
48 exec_prefix = @exec_prefix@
49 includedir = @includedir@
50 libdir = @libdir@
51 bindir = @bindir@
52 docdir = @docdir@
53 infodir = @infodir@
54 emacsdir = @emacsdir@
55 libexecdir = @libexecdir@
56 datarootdir = @datarootdir@
57 datadir = @datadir@
58 htmldir = @htmldir@
59 dvidir = @dvidir@
60 pdfdir = @pdfdir@
61 psdir = @psdir@
62 localedir = @localedir@
63 mandir = @mandir@
65 .SUFFIXES:
66 .SUFFIXES: .scm .c @obj@
68 LIBRARIES_SCM =
70 LIBRARY = $(LIB_PREFIX)$(GAMBCGSCLIB)$(LIB_EXTENSION)
71 LIBRARY_NORMAL_C =
72 LIBRARY_NORMAL_CPP =
73 LIBRARY_NORMAL_H =
74 LIBRARY_NORMAL_O =
75 LIBRARY_NORMAL_O_PLUS =
76 LIBRARY_NORMAL_O_COMMA =
77 LIBRARY_NORMAL_SOURCES = $(LIBRARY_NORMAL_C) $(LIBRARY_NORMAL_CPP) \
78 $(LIBRARY_NORMAL_H)
79 LIBRARY_MODULES = _host _utils _source _parms \
80 _env _ptree1 _ptree2 _gvm _back _front _prims \
81 _t-c-1 _t-c-2 _t-c-3 _gsclib
82 LIBRARY_MODULES_SCM = _host.scm _utils.scm _source.scm _parms.scm \
83 _env.scm _ptree1.scm _ptree2.scm _gvm.scm _back.scm _front.scm _prims.scm \
84 _t-c-1.scm _t-c-2.scm _t-c-3.scm _gsclib.scm
85 LIBRARY_MODULES_C = _host.c _utils.c _source.c _parms.c \
86 _env.c _ptree1.c _ptree2.c _gvm.c _back.c _front.c \
87 _prims.c _t-c-1.c _t-c-2.c _t-c-3.c _gsclib.c
88 LIBRARY_MODULES_O = _host@obj@ _utils@obj@ _source@obj@ _parms@obj@ \
89 _env@obj@ _ptree1@obj@ _ptree2@obj@ _gvm@obj@ _back@obj@ _front@obj@ \
90 _prims@obj@ _t-c-1@obj@ _t-c-2@obj@ _t-c-3@obj@ _gsclib@obj@
91 LIBRARY_MODULES_O_PLUS = +_host@obj@ +_utils@obj@ +_source@obj@ +_parms@obj@ \
92 +_env@obj@ +_ptree1@obj@ +_ptree2@obj@ +_gvm@obj@ +_back@obj@ +_front@obj@ \
93 +_prims@obj@ +_t-c-1@obj@ +_t-c-2@obj@ +_t-c-3@obj@ +_gsclib@obj@
94 LIBRARY_MODULES_O_COMMA = _host@obj@,_utils@obj@,_source@obj@,_parms@obj@,\
95 _env@obj@,_ptree1@obj@,_ptree2@obj@,_gvm@obj@,_back@obj@,_front@obj@,\
96 _prims@obj@,_t-c-1@obj@,_t-c-2@obj@,_t-c-3@obj@,_gsclib@obj@
97 LIBRARY_MODULES_O_IN_COMPILE_ORDER = _t-c-2@obj@ _ptree1@obj@ _ptree2@obj@ \
98 _front@obj@ _t-c-1@obj@ _gvm@obj@ _source@obj@ _t-c-3@obj@ _utils@obj@ \
99 _parms@obj@ _host@obj@ _env@obj@ _prims@obj@ _back@obj@ _gsclib@obj@
100 LIBRARY_OBJECTS = $(LIBRARY_NORMAL_O) \
101 $(LIBRARY_MODULES_O) _$(GAMBCGSCLIB)@obj@
102 LIBRARY_OBJECTS_PLUS = $(LIBRARY_NORMAL_O_PLUS) \
103 $(LIBRARY_MODULES_O_PLUS) +_$(GAMBCGSCLIB)@obj@
104 LIBRARY_OBJECTS_COMMA = $(LIBRARY_NORMAL_O_COMMA),\
105 $(LIBRARY_MODULES_O_COMMA),_$(GAMBCGSCLIB)@obj@
106 LIBRARY_OBJECTS_IN_COMPILE_ORDER = $(LIBRARY_MODULES_O_IN_COMPILE_ORDER) \
107 $(LIBRARY_NORMAL_O_IN_COMPILE_ORDER) _$(GAMBCGSCLIB)@obj@
109 MAKE_LIBRARY_LIBS = $(rootfromhere)/lib/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)
110 MAKE_LIBRARY_FOR_INSTALL_LIBS = @MAKE_LIBRARY_FOR_INSTALL_LIBS@
112 EXECUTABLE = gsc@exe@
113 EXECUTABLE_INSTALLED = @ENABLE_COMPILER_NAME@@exe@
114 EXECUTABLE_NORMAL_C =
115 EXECUTABLE_NORMAL_CPP =
116 EXECUTABLE_NORMAL_H =
117 EXECUTABLE_NORMAL_O =
118 EXECUTABLE_NORMAL_O_PLUS =
119 EXECUTABLE_NORMAL_O_COMMA =
120 EXECUTABLE_NORMAL_SOURCES = $(EXECUTABLE_NORMAL_C) $(EXECUTABLE_NORMAL_CPP) \
121 $(EXECUTABLE_NORMAL_H)
122 EXECUTABLE_MODULES = _gsc
123 EXECUTABLE_MODULES_SCM = _gsc.scm
124 EXECUTABLE_MODULES_C = _gsc.c
125 EXECUTABLE_MODULES_O = _gsc@obj@
126 EXECUTABLE_MODULES_O_PLUS = +_gsc@obj@
127 EXECUTABLE_MODULES_O_COMMA = _gsc@obj@
128 EXECUTABLE_MODULES_O_IN_COMPILE_ORDER = _gsc@obj@
129 EXECUTABLE_OBJECTS = $(EXECUTABLE_NORMAL_O) \
130 $(EXECUTABLE_MODULES_O) _gsc_@obj@
131 EXECUTABLE_OBJECTS_PLUS = $(EXECUTABLE_NORMAL_O_PLUS) \
132 $(EXECUTABLE_MODULES_O_PLUS) +_gsc_@obj@
133 EXECUTABLE_OBJECTS_COMMA = $(EXECUTABLE_NORMAL_O_COMMA),\
134 $(EXECUTABLE_MODULES_O_COMMA),_gsc_@obj@
135 EXECUTABLE_OBJECTS_IN_COMPILE_ORDER = $(EXECUTABLE_MODULES_O_IN_COMPILE_ORDER) \
136 $(EXECUTABLE_NORMAL_O_IN_COMPILE_ORDER) _gsc_@obj@
138 LINK_LIBS = $(LIBRARY) $(rootfromhere)/lib/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)
139 LINK_FOR_INSTALL_LIBS = @LINK_FOR_INSTALL_GSC_LIBS@
141 MODULES_SCM = $(LIBRARY_MODULES_SCM) $(EXECUTABLE_MODULES_SCM)
142 MODULES_C = $(LIBRARY_MODULES_C) $(EXECUTABLE_MODULES_C)
143 OBJECTS = $(LIBRARY_OBJECTS) $(EXECUTABLE_OBJECTS)
145 RCFILES = makefile.in fixnum.scm generic.scm igsc.scm $(MODULES_SCM) \
146 _envadt.scm _gvmadt.scm _ptreeadt.scm _sourceadt.scm
148 GENDISTFILES = $(MODULES_C) _$(GAMBCGSCLIB).c _gsc_.c
150 DISTFILES = $(RCFILES) $(GENDISTFILES)
152 GAMBCDIR_INCLUDE = $(srcdirpfx)$(rootfromhere)/include
153 GAMBCDIR_LIB = $(srcdirpfx)$(rootfromhere)/lib
154 GAMBCDIR_LIB_GSI = $(srcdirpfx)$(rootfromhere)/gsi
155 GAMBCDIR_LIB_GSC = $(srcdirpfx)$(rootfromhere)/gsc
157 BUILD_OBJ_OUTPUT_FILENAME = $*@obj@
158 BUILD_OBJ_CC_OPTIONS = -I$(srcdir) $(DEFS)
159 BUILD_OBJ_INPUT_FILENAMES = $(srcdirpfx)$*.c
161 BUILD_EXE_OUTPUT_FILENAME = $(EXECUTABLE)
162 BUILD_EXE_CC_OPTIONS =
163 BUILD_EXE_LD_OPTIONS_PRELUDE =
164 BUILD_EXE_INPUT_FILENAMES = $(EXECUTABLE_OBJECTS)
165 BUILD_EXE_LD_OPTIONS = $(LIBRARY)
167 all:
169 all-pre:
171 all-post: $(LIBRARY) $(EXECUTABLE)
173 $(LIBRARY): $(LIBRARY_OBJECTS_IN_COMPILE_ORDER)
174 rm -f $(LIBRARY)
175 @MAKE_LIBRARY@
177 _$(GAMBCGSCLIB).c: $(LIBRARY_MODULES_C) $(rootfromhere)/lib/_gambc.c
178 @SETDLPATH@ $(rootfromhere)/gsc-comp -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -link -l $(srcdirpfx)$(rootfromhere)/lib/_gambc -o $@ $(LIBRARY_MODULES_C)
180 $(EXECUTABLE): $(EXECUTABLE_OBJECTS_IN_COMPILE_ORDER) $(LINK_LIBS)
181 @BUILD_EXE@
183 _gsc_.c: $(EXECUTABLE_MODULES_C) _$(GAMBCGSCLIB).c
184 @SETDLPATH@ $(rootfromhere)/gsc-comp -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -link -l _$(GAMBCGSCLIB) -o $@ $(EXECUTABLE_MODULES_C)
186 _gsc@obj@: _gsc.c
187 @BUILD_OBJ@
189 _gsc_@obj@: _gsc_.c
190 @BUILD_OBJ@
192 .c@obj@:
193 @BUILD_OBJ@ -D___LIBRARY
195 .scm.c:
196 @SETDLPATH@ $(rootfromhere)/gsc-comp -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -c -check $(srcdirpfx)$*.scm
198 _gsc.c: $(srcdirpfx)$(rootfromhere)/gsi/main.scm
200 $(MODULES_C): $(srcdirpfx)$(rootfromhere)/lib/header.scm \
201 $(srcdirpfx)$(rootfromhere)/lib/gambit\#.scm \
202 $(srcdirpfx)$(rootfromhere)/lib/_gambit\#.scm \
203 $(srcdirpfx)fixnum.scm $(srcdirpfx)generic.scm
205 $(MODULES_O): $(srcdirpfx)$(rootfromhere)/include/gambit.h
207 install-pre:
209 install-post: all
210 c_bindir=$(DESTDIR)$(prefix)/bin; \
211 i_bindir=$(DESTDIR)$(bindir); \
212 t_bindir=$$i_bindir; \
213 c_libdir=$(DESTDIR)$(prefix)/lib; \
214 i_libdir=$(DESTDIR)$(libdir); \
215 t_libdir=$$i_libdir; \
216 $(srcdirpfx)$(rootfromhere)/mkidirs $$i_bindir $$i_libdir; \
217 if test "@ENABLE_SYMLINKS@" = "yes"; then \
218 $(srcdirpfx)$(rootfromhere)/mkidirs $$c_bindir $$c_libdir; \
219 t_bindir=$$c_bindir; \
220 t_libdir=$$c_libdir; \
221 fi; \
222 $(INSTALL_DATA) $(srcdirpfx)_$(GAMBCGSCLIB).c $$t_libdir/_$(GAMBCGSCLIB).c; \
223 @MAKE_LIBRARY_FOR_INSTALL@; \
224 $(INSTALL_LIB) $(LIBRARY) $$t_libdir/$(LIBRARY); \
225 @FIXLIB@ $$t_libdir/$(LIBRARY); \
226 @LINK_FOR_INSTALL@; \
227 $(INSTALL_PROGRAM) $(EXECUTABLE) $$t_bindir/$(EXECUTABLE_INSTALLED); \
228 if test "$$t_libdir" != "$$i_libdir"; then \
229 r_libdir=`$(rootfromhere)/relpath "$$t_libdir" "$$i_libdir" @ENABLE_MULTIPLE_VERSIONS@`; \
230 for file in _$(GAMBCGSCLIB).c $(LIBRARY); do \
231 (cd $$i_libdir && $(LN_S) $$r_libdir$$file $$file); \
232 done; \
233 fi; \
234 if test "$$t_bindir" != "$$i_bindir"; then \
235 r_bindir=`$(rootfromhere)/relpath "$$t_bindir" "$$i_bindir" @ENABLE_MULTIPLE_VERSIONS@`; \
236 for file in $(EXECUTABLE_INSTALLED); do \
237 (cd $$i_bindir && $(LN_S) $$r_bindir$$file $$file); \
238 done; \
241 uninstall-pre:
243 uninstall-post:
244 c_bindir=$(DESTDIR)$(prefix)/bin; \
245 i_bindir=$(DESTDIR)$(bindir); \
246 t_bindir=$$i_bindir; \
247 c_libdir=$(DESTDIR)$(prefix)/lib; \
248 i_libdir=$(DESTDIR)$(libdir); \
249 t_libdir=$$i_libdir; \
250 if test "@ENABLE_SYMLINKS@" = "yes"; then \
251 t_bindir=$$c_bindir; \
252 t_libdir=$$c_libdir; \
253 fi; \
254 rm -f $$t_libdir/_$(GAMBCGSCLIB).c \
255 $$t_libdir/$(LIBRARY) \
256 $$t_bindir/$(EXECUTABLE_INSTALLED); \
257 if test "$$t_libdir" != "$$i_libdir"; then \
258 for file in _$(GAMBCGSCLIB).c $(LIBRARY); do \
259 rm -f $$i_libdir/$$file; \
260 done; \
261 fi; \
262 if test "$$t_bindir" != "$$i_bindir"; then \
263 for file in $(EXECUTABLE_INSTALLED); do \
264 rm -f $$i_bindir/$$file; \
265 done; \
266 fi; \
267 rmdir $$t_libdir 2> /dev/null; \
268 if test "$$t_libdir" != "$$i_libdir"; then \
269 rmdir $$i_libdir 2> /dev/null; \
270 fi; \
271 rmdir $$t_bindir 2> /dev/null; \
272 if test "$$t_bindir" != "$$i_bindir"; then \
273 rmdir $$i_bindir 2> /dev/null; \
276 mostlyclean-pre:
278 mostlyclean-post:
279 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE)
281 clean-pre: mostlyclean-pre
283 clean-post: mostlyclean-post
284 rm -f *.da *.bb *.bbg *.gcov *.gcno *.gcda
286 distclean-pre: clean-pre
288 distclean-post: clean-post
290 bootclean-pre: distclean-pre
292 bootclean-post: distclean-post
293 rm -f $(MODULES_C) _$(GAMBCGSCLIB).c _gsc_.c
295 realclean-pre: bootclean-pre
297 realclean-post: bootclean-post
298 rm -f makefile
300 rc-setup-pre:
301 $(RC) add $(RCFILES)
303 rc-setup-post:
305 dist-pre dist-devel-pre:
306 mkdir $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot)
307 chmod 777 $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot)
308 @echo " Copying distribution files:"
309 @for file in $(DISTFILES); do \
310 echo " $(herefromroot)/$$file"; \
311 ln $(srcdirpfx)$$file $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot) 2> /dev/null \
312 || cp -p $(srcdirpfx)$$file $(rootfromhere)/$(PACKAGE_TARNAME)/$(herefromroot); \
313 done
315 dist-post dist-devel-post:
317 all-recursive install-recursive uninstall-recursive mostlyclean-recursive clean-recursive distclean-recursive bootclean-recursive realclean-recursive rc-setup-recursive dist-recursive dist-devel-recursive:
318 @if test -n "$(SUBDIRS)"; then \
319 for subdir in ""$(SUBDIRS); do \
320 target=`echo $@ | sed 's/-recursive//'`; \
321 echo making $$target in $$subdir; \
322 (cd $$subdir && $(MAKE) $$target) || exit 1; \
323 done \
326 all: all-post
328 all-post: all-recursive
330 all-recursive: all-pre
332 install: install-post
334 install-post: install-recursive
336 install-recursive: install-pre
338 uninstall: uninstall-post
340 uninstall-post: uninstall-recursive
342 uninstall-recursive: uninstall-pre
344 mostlyclean: mostlyclean-post
346 mostlyclean-post: mostlyclean-recursive
348 mostlyclean-recursive: mostlyclean-pre
350 clean: clean-post
352 clean-post: clean-recursive
354 clean-recursive: clean-pre
356 distclean: distclean-post
358 distclean-post: distclean-recursive
360 distclean-recursive: distclean-pre
362 bootclean: bootclean-post
364 bootclean-post: bootclean-recursive
366 bootclean-recursive: bootclean-pre
368 realclean: realclean-post
370 realclean-post: realclean-recursive
372 realclean-recursive: realclean-pre
374 rc-setup: rc-setup-post
376 rc-setup-post: rc-setup-recursive
378 rc-setup-recursive: rc-setup-pre
380 dist: dist-post
382 dist-post: dist-recursive
384 dist-recursive: dist-pre
386 dist-devel: dist-devel-post
388 dist-devel-post: dist-devel-recursive
390 dist-devel-recursive: dist-devel-pre
392 makefile: makefile.in $(rootfromhere)/config.status
393 cd $(rootfromhere) && CONFIG_FILES=$(herefromroot)/$@ CONFIG_HEADERS= ./config.status
395 # Tell versions [3.59,3.63) of GNU make not to export all variables.
396 # Otherwise a system limit (for SysV at least) may be exceeded.
397 .NOEXPORT: