1 # makefile for Gambit-C compiler.
3 # Copyright (c) 1994-2009 by Marc Feeley, All Rights Reserved.
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@
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@
31 GAMBCLIB_DEFS
= @GAMBCLIB_DEFS_MF@
32 LIB_PREFIX
= @LIB_PREFIX@
33 LIB_EXTENSION
= @LIB_EXTENSION@
35 GAMBCGSCLIB
= @GAMBCGSCLIB@
36 GAMBCGSILIB
= @GAMBCGSILIB@
38 INSTALL_DATA
= @INSTALL_DATA@
39 INSTALL_LIB
= @INSTALL_LIB@
40 INSTALL_PROGRAM
= @INSTALL_PROGRAM@
48 exec_prefix = @
exec_prefix@
49 includedir = @
includedir@
55 libexecdir
= @libexecdir@
56 datarootdir
= @datarootdir@
62 localedir
= @localedir@
66 .SUFFIXES
: .scm .c @obj@
70 LIBRARY
= $(LIB_PREFIX
)$(GAMBCGSCLIB
)$(LIB_EXTENSION
)
75 LIBRARY_NORMAL_O_PLUS
=
76 LIBRARY_NORMAL_O_COMMA
=
77 LIBRARY_NORMAL_SOURCES
= $(LIBRARY_NORMAL_C
) $(LIBRARY_NORMAL_CPP
) \
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
)
171 all-post
: $(LIBRARY
) $(EXECUTABLE
)
173 $(LIBRARY
): $(LIBRARY_OBJECTS_IN_COMPILE_ORDER
)
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
)
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
)
193 @BUILD_OBJ@
-D___LIBRARY
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
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; \
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); \
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); \
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; \
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; \
262 if
test "$$t_bindir" != "$$i_bindir"; then \
263 for file in
$(EXECUTABLE_INSTALLED
); do \
264 rm -f
$$i_bindir/$$file; \
267 rmdir
$$t_libdir 2> /dev
/null
; \
268 if
test "$$t_libdir" != "$$i_libdir"; then \
269 rmdir
$$i_libdir 2> /dev
/null
; \
271 rmdir
$$t_bindir 2> /dev
/null
; \
272 if
test "$$t_bindir" != "$$i_bindir"; then \
273 rmdir
$$i_bindir 2> /dev
/null
; \
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
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
); \
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; \
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
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
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.