Commit | Line | Data |
---|---|---|
733943b9 | 1 | ## Process this file with Automake to create Makefile.in |
2764bd99 | 2 | ## |
e4598559 | 3 | ## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, |
aef1fcf9 | 4 | ## 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. |
2764bd99 JB |
5 | ## |
6 | ## This file is part of GUILE. | |
54f16aec | 7 | ## |
53befeb7 NJ |
8 | ## GUILE is free software; you can redistribute it and/or modify it |
9 | ## under the terms of the GNU Lesser General Public License as | |
10 | ## published by the Free Software Foundation; either version 3, or | |
2764bd99 | 11 | ## (at your option) any later version. |
54f16aec | 12 | ## |
2764bd99 JB |
13 | ## GUILE is distributed in the hope that it will be useful, but |
14 | ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
53befeb7 | 16 | ## GNU Lesser General Public License for more details. |
54f16aec | 17 | ## |
53befeb7 NJ |
18 | ## You should have received a copy of the GNU Lesser General Public |
19 | ## License along with GUILE; see the file COPYING.LESSER. If not, | |
20 | ## write to the Free Software Foundation, Inc., 51 Franklin Street, | |
21 | ## Fifth Floor, Boston, MA 02110-1301 USA | |
733943b9 | 22 | |
a572fc95 NI |
23 | include $(top_srcdir)/am/snarf |
24 | ||
3307df95 | 25 | AUTOMAKE_OPTIONS = gnu |
733943b9 | 26 | |
a0599745 | 27 | ## Prevent automake from adding extra -I options |
8f99e3f3 | 28 | DEFS = @DEFS@ |
535b3592 LC |
29 | |
30 | # Override Automake's `DEFAULT_INCLUDES'. By default, it contains | |
31 | # "-I$(srcdir)", which causes problems on Tru64 where our "random.h" | |
32 | # is picked up by <stdlib.h> instead of the libc's <random.h>. | |
33 | DEFAULT_INCLUDES = | |
34 | ||
733943b9 TT |
35 | ## Check for headers in $(srcdir)/.., so that #include |
36 | ## <libguile/MUMBLE.h> will find MUMBLE.h in this dir when we're | |
6caac03c | 37 | ## building. Also look for Gnulib headers in `lib'. |
442f3f20 | 38 | AM_CPPFLAGS = -DBUILDING_LIBGUILE=1 -I$(top_srcdir) -I$(top_builddir) \ |
d8b04f04 | 39 | -I$(top_srcdir)/lib -I$(top_builddir)/lib $(LIBFFI_CFLAGS) |
6caac03c | 40 | |
d8b04f04 | 41 | AM_CFLAGS = $(GCC_CFLAGS) $(CFLAG_VISIBILITY) |
6caac03c LC |
42 | |
43 | ## The Gnulib Libtool archive. | |
44 | gnulib_library = $(top_builddir)/lib/libgnu.la | |
733943b9 | 45 | |
4079f87e | 46 | ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \ |
abc049a9 | 47 | --regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/' |
fef07353 | 48 | |
44602b08 | 49 | lib_LTLIBRARIES = libguile-@GUILE_EFFECTIVE_VERSION@.la |
f94b6524 | 50 | bin_PROGRAMS = guile |
b32fca0f | 51 | |
64c2db80 RB |
52 | noinst_PROGRAMS = guile_filter_doc_snarfage gen-scmconfig |
53 | ||
54 | gen_scmconfig_SOURCES = gen-scmconfig.c | |
55 | ||
a04e5749 AW |
56 | ## Override default rule; this should be compiled for BUILD host. Note |
57 | ## that we don't add $(AM_CPPFLAGS) here, as we need to run this | |
58 | ## program, but $(top_srcdir)/lib has a gnulib configured for the | |
59 | ## target. Instead we manually add $(top_builddir), in order to pick up | |
60 | ## the generated config.h and gen-scmconfig.h. Nothing else from Guile | |
61 | ## is included by this code generator. | |
64c2db80 | 62 | gen-scmconfig.$(OBJEXT): gen-scmconfig.c |
ad378da9 AW |
63 | $(AM_V_GEN) \ |
64 | if [ "$(cross_compiling)" = "yes" ]; then \ | |
a04e5749 | 65 | $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) -I$(top_builddir) \ |
b3da54d1 | 66 | -c -o $@ $<; \ |
ad378da9 AW |
67 | else \ |
68 | $(COMPILE) -c -o $@ $<; \ | |
64c2db80 RB |
69 | fi |
70 | ||
2e945bcc | 71 | ## Override default rule; this should run on BUILD host. |
6a6df187 | 72 | gen-scmconfig$(EXEEXT): $(gen_scmconfig_OBJECTS) $(gen_scmconfig_DEPENDENCIES) |
a572fc95 NI |
73 | $(AM_V_GEN) \ |
74 | rm -f gen-scmconfig$(EXEEXT); \ | |
2e945bcc SJ |
75 | if [ "$(cross_compiling)" = "yes" ]; then \ |
76 | $(CCLD_FOR_BUILD) -o $@ $(gen_scmconfig_OBJECTS); \ | |
77 | else \ | |
78 | $(LINK) $(gen_scmconfig_OBJECTS) $(LDADD) $(LIBS); \ | |
79 | fi | |
80 | ||
81 | scmconfig.h: ${top_builddir}/config.h gen-scmconfig$(EXEEXT) | |
a572fc95 NI |
82 | $(AM_V_GEN)(rm -f scmconfig.h.tmp; \ |
83 | cat $(srcdir)/scmconfig.h.top > scmconfig.h.tmp; \ | |
84 | ./gen-scmconfig$(EXEEXT) >> scmconfig.h.tmp; \ | |
85 | chmod 444 scmconfig.h.tmp; \ | |
86 | rm -f scmconfig.h; \ | |
87 | mv scmconfig.h.tmp scmconfig.h) | |
88 | ||
64c2db80 | 89 | |
b32fca0f MV |
90 | guile_filter_doc_snarfage_SOURCES = c-tokenize.c |
91 | ||
92 | ## Override default rule; this should be compiled for BUILD host. | |
93 | ## For some reason, OBJEXT does not include the dot | |
94 | c-tokenize.$(OBJEXT): c-tokenize.c | |
8cb0d6d7 LC |
95 | $(AM_V_GEN) \ |
96 | if [ "$(cross_compiling)" = "yes" ]; then \ | |
97 | $(CC_FOR_BUILD) -DCROSS_COMPILING=1 -I$(top_builddir) \ | |
98 | -c -o "$@" "$<"; \ | |
99 | else \ | |
100 | $(COMPILE) -c -o "$@" "$<"; \ | |
b32fca0f MV |
101 | fi |
102 | ||
103 | ## Override default rule; this should run on BUILD host. | |
6a6df187 | 104 | guile_filter_doc_snarfage$(EXEEXT): $(guile_filter_doc_snarfage_OBJECTS) $(guile_filter_doc_snarfage_DEPENDENCIES) |
a572fc95 NI |
105 | $(AM_V_GEN) \ |
106 | rm -f guile_filter_doc_snarfage$(EXEEXT); \ | |
b32fca0f MV |
107 | if [ "$(cross_compiling)" = "yes" ]; then \ |
108 | $(CCLD_FOR_BUILD) -o $@ $(guile_filter_doc_snarfage_OBJECTS); \ | |
109 | else \ | |
3d458a81 | 110 | $(LINK) $(guile_filter_doc_snarfage_OBJECTS) $(LDADD) $(gnulib_library) $(LIBS); \ |
b32fca0f MV |
111 | fi |
112 | ||
549436de JB |
113 | |
114 | guile_SOURCES = guile.c | |
bfb2e113 | 115 | guile_CFLAGS = $(GUILE_CFLAGS) $(AM_CFLAGS) |
44602b08 | 116 | guile_LDADD = libguile-@GUILE_EFFECTIVE_VERSION@.la |
de7d32d0 | 117 | guile_LDFLAGS = $(GUILE_CFLAGS) |
5bbc5359 | 118 | |
44602b08 | 119 | libguile_@GUILE_EFFECTIVE_VERSION@_la_CFLAGS = $(GUILE_CFLAGS) $(AM_CFLAGS) |
ee2a8b9b | 120 | |
44602b08 | 121 | libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = \ |
a4a0d399 AW |
122 | alist.c \ |
123 | arbiters.c \ | |
c53c0893 | 124 | array-handle.c \ |
5d1b3b2d | 125 | array-map.c \ |
2fa901a5 | 126 | arrays.c \ |
a4a0d399 AW |
127 | async.c \ |
128 | backtrace.c \ | |
129 | boolean.c \ | |
cf396142 | 130 | bitvectors.c \ |
a4a0d399 AW |
131 | bytevectors.c \ |
132 | chars.c \ | |
b9c100d0 | 133 | control.c \ |
a4a0d399 AW |
134 | continuations.c \ |
135 | debug.c \ | |
136 | deprecated.c \ | |
137 | deprecation.c \ | |
9ede013f | 138 | dynstack.c \ |
a4a0d399 AW |
139 | dynwind.c \ |
140 | eq.c \ | |
141 | error.c \ | |
142 | eval.c \ | |
143 | evalext.c \ | |
dc3e203e | 144 | expand.c \ |
a4a0d399 AW |
145 | extensions.c \ |
146 | feature.c \ | |
073167ef | 147 | filesys.c \ |
6e9ec86d | 148 | finalizers.c \ |
a4a0d399 | 149 | fluids.c \ |
e2c2a699 | 150 | foreign.c \ |
a7ee7f7c | 151 | foreign-object.c \ |
a4a0d399 AW |
152 | fports.c \ |
153 | frames.c \ | |
a4a0d399 | 154 | gc-malloc.c \ |
a4a0d399 | 155 | gc.c \ |
a4a0d399 | 156 | gettext.c \ |
1030b450 | 157 | generalized-arrays.c \ |
f332e957 | 158 | generalized-vectors.c \ |
a4a0d399 AW |
159 | goops.c \ |
160 | gsubr.c \ | |
161 | guardians.c \ | |
162 | hash.c \ | |
163 | hashtab.c \ | |
164 | hooks.c \ | |
756e8a3a | 165 | i18n.c \ |
a4a0d399 AW |
166 | init.c \ |
167 | inline.c \ | |
168 | instructions.c \ | |
169 | ioext.c \ | |
170 | keywords.c \ | |
a4a0d399 AW |
171 | list.c \ |
172 | load.c \ | |
4cbc95f1 | 173 | loader.c \ |
a4a0d399 AW |
174 | macros.c \ |
175 | mallocs.c \ | |
b7742c6b | 176 | memoize.c \ |
a4a0d399 AW |
177 | modules.c \ |
178 | null-threads.c \ | |
179 | numbers.c \ | |
a4a0d399 AW |
180 | objprop.c \ |
181 | options.c \ | |
182 | pairs.c \ | |
6f81b18a | 183 | poll.c \ |
a4a0d399 AW |
184 | ports.c \ |
185 | print.c \ | |
186 | procprop.c \ | |
187 | procs.c \ | |
188 | programs.c \ | |
7b893819 | 189 | promises.c \ |
a4a0d399 | 190 | r6rs-ports.c \ |
a4a0d399 AW |
191 | random.c \ |
192 | rdelim.c \ | |
193 | read.c \ | |
194 | root.c \ | |
195 | rw.c \ | |
196 | scmsigs.c \ | |
197 | script.c \ | |
198 | simpos.c \ | |
199 | smob.c \ | |
200 | sort.c \ | |
201 | srcprop.c \ | |
37710f7e AW |
202 | srfi-1.c \ |
203 | srfi-4.c \ | |
a4a0d399 AW |
204 | srfi-13.c \ |
205 | srfi-14.c \ | |
37710f7e | 206 | srfi-60.c \ |
a4a0d399 AW |
207 | stackchk.c \ |
208 | stacks.c \ | |
209 | stime.c \ | |
210 | strings.c \ | |
211 | strorder.c \ | |
212 | strports.c \ | |
213 | struct.c \ | |
214 | symbols.c \ | |
215 | threads.c \ | |
216 | throw.c \ | |
0f458a37 | 217 | trees.c \ |
c5ea7553 | 218 | unicode.c \ |
476b894c | 219 | uniform.c \ |
a4a0d399 AW |
220 | values.c \ |
221 | variable.c \ | |
222 | vectors.c \ | |
223 | version.c \ | |
224 | vm.c \ | |
225 | vports.c \ | |
26b26354 | 226 | weak-set.c \ |
7005c60f | 227 | weak-table.c \ |
a141db86 | 228 | weak-vector.c |
83495480 | 229 | |
a4a0d399 AW |
230 | DOT_X_FILES = \ |
231 | alist.x \ | |
232 | arbiters.x \ | |
c53c0893 | 233 | array-handle.x \ |
5d1b3b2d | 234 | array-map.x \ |
2fa901a5 | 235 | arrays.x \ |
a4a0d399 AW |
236 | async.x \ |
237 | backtrace.x \ | |
238 | boolean.x \ | |
cf396142 | 239 | bitvectors.x \ |
a4a0d399 AW |
240 | bytevectors.x \ |
241 | chars.x \ | |
b9c100d0 | 242 | control.x \ |
a4a0d399 AW |
243 | continuations.x \ |
244 | debug.x \ | |
245 | deprecated.x \ | |
246 | deprecation.x \ | |
a4a0d399 AW |
247 | dynl.x \ |
248 | dynwind.x \ | |
249 | eq.x \ | |
250 | error.x \ | |
251 | eval.x \ | |
252 | evalext.x \ | |
dc3e203e | 253 | expand.x \ |
a4a0d399 AW |
254 | extensions.x \ |
255 | feature.x \ | |
ee037cee | 256 | filesys.x \ |
a4a0d399 | 257 | fluids.x \ |
e2c2a699 | 258 | foreign.x \ |
a4a0d399 | 259 | fports.x \ |
4cbc95f1 | 260 | frames.x \ |
a4a0d399 | 261 | gc-malloc.x \ |
a4a0d399 AW |
262 | gc.x \ |
263 | gettext.x \ | |
1030b450 | 264 | generalized-arrays.x \ |
f332e957 | 265 | generalized-vectors.x \ |
a4a0d399 AW |
266 | goops.x \ |
267 | gsubr.x \ | |
268 | guardians.x \ | |
269 | hash.x \ | |
270 | hashtab.x \ | |
271 | hooks.x \ | |
272 | i18n.x \ | |
273 | init.x \ | |
4cbc95f1 | 274 | instructions.x \ |
a4a0d399 AW |
275 | ioext.x \ |
276 | keywords.x \ | |
a4a0d399 AW |
277 | list.x \ |
278 | load.x \ | |
4cbc95f1 | 279 | loader.x \ |
a4a0d399 AW |
280 | macros.x \ |
281 | mallocs.x \ | |
b7742c6b | 282 | memoize.x \ |
a4a0d399 AW |
283 | modules.x \ |
284 | numbers.x \ | |
a4a0d399 AW |
285 | objprop.x \ |
286 | options.x \ | |
287 | pairs.x \ | |
288 | ports.x \ | |
289 | print.x \ | |
290 | procprop.x \ | |
291 | procs.x \ | |
4cbc95f1 | 292 | programs.x \ |
7b893819 | 293 | promises.x \ |
a4a0d399 | 294 | r6rs-ports.x \ |
a4a0d399 AW |
295 | random.x \ |
296 | rdelim.x \ | |
297 | read.x \ | |
298 | root.x \ | |
299 | rw.x \ | |
300 | scmsigs.x \ | |
301 | script.x \ | |
302 | simpos.x \ | |
303 | smob.x \ | |
304 | sort.x \ | |
305 | srcprop.x \ | |
37710f7e AW |
306 | srfi-1.x \ |
307 | srfi-4.x \ | |
a4a0d399 AW |
308 | srfi-13.x \ |
309 | srfi-14.x \ | |
37710f7e | 310 | srfi-60.x \ |
a4a0d399 AW |
311 | stackchk.x \ |
312 | stacks.x \ | |
313 | stime.x \ | |
314 | strings.x \ | |
315 | strorder.x \ | |
316 | strports.x \ | |
317 | struct.x \ | |
318 | symbols.x \ | |
319 | threads.x \ | |
320 | throw.x \ | |
0f458a37 | 321 | trees.x \ |
c5ea7553 | 322 | unicode.x \ |
476b894c | 323 | uniform.x \ |
a4a0d399 AW |
324 | values.x \ |
325 | variable.x \ | |
326 | vectors.x \ | |
327 | version.x \ | |
4cbc95f1 | 328 | vm.x \ |
a4a0d399 | 329 | vports.x \ |
26b26354 | 330 | weak-set.x \ |
7005c60f | 331 | weak-table.x \ |
a141db86 | 332 | weak-vector.x |
8bee78b3 | 333 | |
e9e225e5 | 334 | EXTRA_DOT_X_FILES = @EXTRA_DOT_X_FILES@ |
8bee78b3 | 335 | |
a4a0d399 AW |
336 | DOT_DOC_FILES = \ |
337 | alist.doc \ | |
338 | arbiters.doc \ | |
c53c0893 | 339 | array-handle.doc \ |
5d1b3b2d | 340 | array-map.doc \ |
2fa901a5 | 341 | arrays.doc \ |
a4a0d399 AW |
342 | async.doc \ |
343 | backtrace.doc \ | |
344 | boolean.doc \ | |
cf396142 | 345 | bitvectors.doc \ |
a4a0d399 AW |
346 | bytevectors.doc \ |
347 | chars.doc \ | |
b9c100d0 | 348 | control.doc \ |
a4a0d399 AW |
349 | continuations.doc \ |
350 | debug.doc \ | |
351 | deprecated.doc \ | |
352 | deprecation.doc \ | |
a4a0d399 AW |
353 | dynl.doc \ |
354 | dynwind.doc \ | |
355 | eq.doc \ | |
356 | error.doc \ | |
357 | eval.doc \ | |
358 | evalext.doc \ | |
dc3e203e | 359 | expand.doc \ |
a4a0d399 AW |
360 | extensions.doc \ |
361 | feature.doc \ | |
073167ef | 362 | filesys.doc \ |
a4a0d399 | 363 | fluids.doc \ |
e2c2a699 | 364 | foreign.doc \ |
a4a0d399 | 365 | fports.doc \ |
a4a0d399 | 366 | gc-malloc.doc \ |
a4a0d399 AW |
367 | gc.doc \ |
368 | gettext.doc \ | |
1030b450 | 369 | generalized-arrays.doc \ |
476b894c | 370 | generalized-vectors.doc \ |
a4a0d399 AW |
371 | goops.doc \ |
372 | gsubr.doc \ | |
373 | guardians.doc \ | |
374 | hash.doc \ | |
375 | hashtab.doc \ | |
376 | hooks.doc \ | |
377 | i18n.doc \ | |
378 | init.doc \ | |
379 | ioext.doc \ | |
380 | keywords.doc \ | |
a4a0d399 AW |
381 | list.doc \ |
382 | load.doc \ | |
383 | macros.doc \ | |
384 | mallocs.doc \ | |
b7742c6b | 385 | memoize.doc \ |
a4a0d399 AW |
386 | modules.doc \ |
387 | numbers.doc \ | |
a4a0d399 AW |
388 | objprop.doc \ |
389 | options.doc \ | |
390 | pairs.doc \ | |
391 | ports.doc \ | |
392 | print.doc \ | |
393 | procprop.doc \ | |
394 | procs.doc \ | |
7b893819 | 395 | promises.doc \ |
a4a0d399 | 396 | r6rs-ports.doc \ |
a4a0d399 AW |
397 | random.doc \ |
398 | rdelim.doc \ | |
399 | read.doc \ | |
400 | root.doc \ | |
401 | rw.doc \ | |
402 | scmsigs.doc \ | |
403 | script.doc \ | |
404 | simpos.doc \ | |
405 | smob.doc \ | |
406 | sort.doc \ | |
407 | srcprop.doc \ | |
37710f7e AW |
408 | srfi-1.doc \ |
409 | srfi-4.doc \ | |
a4a0d399 AW |
410 | srfi-13.doc \ |
411 | srfi-14.doc \ | |
37710f7e | 412 | srfi-60.doc \ |
a4a0d399 AW |
413 | stackchk.doc \ |
414 | stacks.doc \ | |
415 | stime.doc \ | |
416 | strings.doc \ | |
417 | strorder.doc \ | |
418 | strports.doc \ | |
419 | struct.doc \ | |
420 | symbols.doc \ | |
421 | threads.doc \ | |
422 | throw.doc \ | |
0f458a37 | 423 | trees.doc \ |
c5ea7553 | 424 | unicode.doc \ |
476b894c | 425 | uniform.doc \ |
a4a0d399 AW |
426 | values.doc \ |
427 | variable.doc \ | |
428 | vectors.doc \ | |
429 | version.doc \ | |
430 | vports.doc \ | |
26b26354 | 431 | weak-set.doc \ |
7005c60f | 432 | weak-table.doc \ |
a141db86 | 433 | weak-vector.doc |
a3365d47 | 434 | |
2ce88b54 | 435 | EXTRA_DOT_DOC_FILES = @EXTRA_DOT_DOC_FILES@ |
9515eae6 | 436 | |
510ca126 AW |
437 | vm-operations.h: vm-engine.c |
438 | @echo '/* This file was generated automatically from $<; do not' > $@ | |
439 | @echo ' edit. See the source file for copyright information. */' >> $@ | |
440 | @echo '' >> $@ | |
441 | @echo "#define FOR_EACH_VM_OPERATION(M) \\" >> $@ | |
442 | $(AM_V_GEN)$(GREP) '^ *VM_DEFINE_OP' $< \ | |
443 | | sed -e 's,VM_DEFINE_OP (\(.*\)).*, M (\1) \\,' >> $@ | |
444 | @echo '' >> $@ | |
445 | ||
648da032 | 446 | BUILT_SOURCES = cpp-E.c cpp-SIG.c libpath.h \ |
b405cdb4 | 447 | scmconfig.h \ |
510ca126 | 448 | $(DOT_I_FILES) vm-operations.h $(DOT_X_FILES) $(EXTRA_DOT_X_FILES) |
9515eae6 | 449 | |
c5c7c114 LC |
450 | # Force the generation of `guile-procedures.texi' because the top-level |
451 | # Makefile expects it to be built. | |
452 | all-local: guile-procedures.texi | |
453 | ||
44602b08 | 454 | EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = _scm.h \ |
c32b39b9 | 455 | memmove.c strerror.c \ |
f731051e | 456 | dynl.c regex-posix.c \ |
073167ef | 457 | posix.c net_db.c socket.c \ |
29627818 | 458 | debug-malloc.c mkstemp.c \ |
09b204d3 | 459 | win32-uname.c \ |
b89c4943 | 460 | locale-categories.h |
7bfd3b9e | 461 | |
413a1367 ML |
462 | ## delete guile-snarf.awk from the installation bindir, in case it's |
463 | ## lingering there due to an earlier guile version not having been | |
464 | ## wiped out. | |
465 | install-exec-hook: | |
b27b814d | 466 | rm -f $(DESTDIR)$(bindir)/guile-snarf.awk |
413a1367 | 467 | |
475772ea | 468 | install-data-hook: libguile-2.2-gdb.scm |
359f46a4 | 469 | @$(MKDIR_P) $(DESTDIR)$(libdir) |
475772ea | 470 | ## We want to install libguile-2.2-gdb.scm as SOMETHING-gdb.scm. |
359f46a4 LC |
471 | ## SOMETHING is the full name of the final library. We want to ignore |
472 | ## symlinks, the .la file, and any previous -gdb.py file. This is | |
473 | ## inherently fragile, but there does not seem to be a better option, | |
474 | ## because libtool hides the real names from us. (Trick courtesy of | |
475 | ## GNU libstdc++.) | |
476 | @here=`pwd`; cd $(DESTDIR)$(libdir); \ | |
477 | for file in libguile-@GUILE_EFFECTIVE_VERSION@*; do \ | |
478 | case $$file in \ | |
479 | *-gdb.scm) ;; \ | |
480 | *.la) ;; \ | |
481 | *) if test -h $$file; then \ | |
482 | continue; \ | |
483 | fi; \ | |
484 | libname=$$file;; \ | |
485 | esac; \ | |
486 | done; \ | |
487 | cd $$here; \ | |
a8b80d6b | 488 | echo " $(INSTALL_DATA) $< \ |
359f46a4 | 489 | $(DESTDIR)$(libdir)/$$libname-gdb.scm"; \ |
a8b80d6b LC |
490 | $(INSTALL_DATA) "$<" \ |
491 | "$(DESTDIR)$(libdir)/$$libname-gdb.scm" | |
359f46a4 | 492 | |
21a7ba9b LC |
493 | # Remove the GDB support file and the Info 'dir' file that |
494 | # 'install-info' 5.x installs. | |
495 | uninstall-hook: | |
496 | -rm "$(DESTDIR)$(libdir)/libguile-@GUILE_EFFECTIVE_VERSION@"*-gdb.scm | |
497 | -rm -f "$(DESTDIR)$(infodir)/dir" | |
498 | ||
7bfd3b9e | 499 | ## This is kind of nasty... there are ".c" files that we don't want to |
1be6b49c ML |
500 | ## compile, since they are #included. So instead we list them here. |
501 | ## Perhaps we can deal with them normally once the merge seems to be | |
502 | ## working. | |
4b126598 | 503 | noinst_HEADERS = conv-integer.i.c conv-uinteger.i.c \ |
afc74c29 | 504 | elf.h \ |
71560395 | 505 | srfi-14.i.c \ |
06f9c814 | 506 | quicksort.i.c \ |
09b204d3 | 507 | win32-uname.h \ |
87fc4596 | 508 | private-options.h ports-internal.h |
7bfd3b9e | 509 | |
83495480 | 510 | # vm instructions |
1c33be99 | 511 | noinst_HEADERS += vm-engine.c |
83495480 | 512 | |
44602b08 | 513 | libguile_@GUILE_EFFECTIVE_VERSION@_la_DEPENDENCIES = @LIBLOBJS@ |
abd7e37a | 514 | |
18f2d5aa | 515 | libguile_@GUILE_EFFECTIVE_VERSION@_la_LIBADD = \ |
cae0945c LC |
516 | @LIBLOBJS@ $(gnulib_library) $(LTLIBGMP) $(LTLIBLTDL) |
517 | ||
518 | # Libtool version info. | |
519 | version_info = @LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@ | |
520 | ||
521 | libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS = \ | |
522 | $(BDW_GC_LIBS) $(LIBFFI_LIBS) \ | |
dd36ce77 | 523 | $(CEIL_LIBM) \ |
cae0945c | 524 | $(FLOOR_LIBM) \ |
dd36ce77 | 525 | $(FREXP_LIBM) \ |
cae0945c LC |
526 | $(GETADDRINFO_LIB) \ |
527 | $(HOSTENT_LIB) \ | |
528 | $(INET_NTOP_LIB) \ | |
529 | $(INET_PTON_LIB) \ | |
530 | $(ISNAND_LIBM) \ | |
531 | $(ISNANF_LIBM) \ | |
532 | $(ISNANL_LIBM) \ | |
dd36ce77 | 533 | $(LDEXP_LIBM) \ |
cae0945c | 534 | $(LIBSOCKET) \ |
235c2804 | 535 | $(LIB_CLOCK_GETTIME) \ |
cae0945c | 536 | $(LOG1P_LIBM) \ |
005de2e8 | 537 | $(LOG_LIBM) \ |
cae0945c LC |
538 | $(LTLIBICONV) \ |
539 | $(LTLIBINTL) \ | |
540 | $(LTLIBUNISTRING) \ | |
005de2e8 | 541 | $(ROUND_LIBM) \ |
cae0945c LC |
542 | $(SERVENT_LIB) \ |
543 | $(TRUNC_LIBM) \ | |
544 | -version-info $(version_info) \ | |
545 | -export-dynamic -no-undefined \ | |
76e8a758 | 546 | $(GNU_LD_FLAGS) |
733943b9 | 547 | |
9af080f7 LC |
548 | if HAVE_LD_VERSION_SCRIPT |
549 | ||
44602b08 | 550 | libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS += -Wl,--version-script="$(srcdir)/libguile.map" |
9af080f7 LC |
551 | |
552 | endif HAVE_LD_VERSION_SCRIPT | |
553 | ||
554 | ||
54f16aec | 555 | # These are headers visible as <guile/mumble.h> |
6a6df187 | 556 | pkginclude_HEADERS = |
ee2a8b9b | 557 | |
733943b9 | 558 | # These are headers visible as <libguile/mumble.h>. |
718815d7 | 559 | modincludedir = $(pkgincludedir)/$(GUILE_EFFECTIVE_VERSION)/libguile |
a4a0d399 AW |
560 | modinclude_HEADERS = \ |
561 | __scm.h \ | |
562 | alist.h \ | |
563 | arbiters.h \ | |
c53c0893 | 564 | array-handle.h \ |
5d1b3b2d | 565 | array-map.h \ |
2fa901a5 | 566 | arrays.h \ |
a4a0d399 AW |
567 | async.h \ |
568 | backtrace.h \ | |
1c44468d | 569 | bdw-gc.h \ |
a4a0d399 | 570 | boolean.h \ |
cf396142 | 571 | bitvectors.h \ |
a4a0d399 AW |
572 | bytevectors.h \ |
573 | chars.h \ | |
b9c100d0 | 574 | control.h \ |
a4a0d399 AW |
575 | continuations.h \ |
576 | debug-malloc.h \ | |
577 | debug.h \ | |
578 | deprecated.h \ | |
579 | deprecation.h \ | |
a4a0d399 | 580 | dynl.h \ |
9ede013f | 581 | dynstack.h \ |
a4a0d399 AW |
582 | dynwind.h \ |
583 | eq.h \ | |
584 | error.h \ | |
585 | eval.h \ | |
586 | evalext.h \ | |
dc3e203e | 587 | expand.h \ |
a4a0d399 AW |
588 | extensions.h \ |
589 | feature.h \ | |
6e9ec86d | 590 | finalizers.h \ |
a4a0d399 AW |
591 | filesys.h \ |
592 | fluids.h \ | |
e2c2a699 | 593 | foreign.h \ |
a7ee7f7c | 594 | foreign-object.h \ |
a4a0d399 AW |
595 | fports.h \ |
596 | frames.h \ | |
a4a0d399 | 597 | gc.h \ |
aef1fcf9 | 598 | gc-inline.h \ |
a4a0d399 | 599 | gettext.h \ |
1030b450 | 600 | generalized-arrays.h \ |
f332e957 | 601 | generalized-vectors.h \ |
a4a0d399 AW |
602 | goops.h \ |
603 | gsubr.h \ | |
604 | guardians.h \ | |
605 | hash.h \ | |
606 | hashtab.h \ | |
607 | hooks.h \ | |
608 | i18n.h \ | |
609 | init.h \ | |
610 | inline.h \ | |
611 | instructions.h \ | |
612 | ioext.h \ | |
613 | iselect.h \ | |
614 | keywords.h \ | |
a4a0d399 AW |
615 | list.h \ |
616 | load.h \ | |
4cbc95f1 | 617 | loader.h \ |
a4a0d399 AW |
618 | macros.h \ |
619 | mallocs.h \ | |
b7742c6b | 620 | memoize.h \ |
a4a0d399 AW |
621 | modules.h \ |
622 | net_db.h \ | |
623 | null-threads.h \ | |
624 | numbers.h \ | |
a4a0d399 AW |
625 | objprop.h \ |
626 | options.h \ | |
627 | pairs.h \ | |
6f81b18a | 628 | poll.h \ |
a4a0d399 AW |
629 | ports.h \ |
630 | posix.h \ | |
631 | print.h \ | |
632 | procprop.h \ | |
633 | procs.h \ | |
634 | programs.h \ | |
7b893819 | 635 | promises.h \ |
a4a0d399 AW |
636 | pthread-threads.h \ |
637 | r6rs-ports.h \ | |
a4a0d399 AW |
638 | random.h \ |
639 | rdelim.h \ | |
640 | read.h \ | |
641 | regex-posix.h \ | |
642 | root.h \ | |
643 | rw.h \ | |
644 | scmsigs.h \ | |
645 | script.h \ | |
646 | simpos.h \ | |
647 | smob.h \ | |
648 | snarf.h \ | |
649 | socket.h \ | |
650 | sort.h \ | |
651 | srcprop.h \ | |
37710f7e AW |
652 | srfi-1.h \ |
653 | srfi-4.h \ | |
a4a0d399 AW |
654 | srfi-13.h \ |
655 | srfi-14.h \ | |
37710f7e | 656 | srfi-60.h \ |
a4a0d399 AW |
657 | stackchk.h \ |
658 | stacks.h \ | |
659 | stime.h \ | |
660 | strings.h \ | |
661 | strorder.h \ | |
662 | strports.h \ | |
663 | struct.h \ | |
664 | symbols.h \ | |
665 | tags.h \ | |
666 | threads.h \ | |
667 | throw.h \ | |
0f458a37 | 668 | trees.h \ |
a4a0d399 | 669 | validate.h \ |
c5ea7553 | 670 | unicode.h \ |
476b894c | 671 | uniform.h \ |
a4a0d399 AW |
672 | values.h \ |
673 | variable.h \ | |
674 | vectors.h \ | |
486013d6 | 675 | vm-builtins.h \ |
a4a0d399 AW |
676 | vm-expand.h \ |
677 | vm.h \ | |
678 | vports.h \ | |
26b26354 | 679 | weak-set.h \ |
7005c60f | 680 | weak-table.h \ |
a141db86 | 681 | weak-vector.h |
83495480 | 682 | |
93ff93f6 | 683 | nodist_modinclude_HEADERS = version.h scmconfig.h |
733943b9 | 684 | |
604a672e TTN |
685 | bin_SCRIPTS = guile-snarf |
686 | ||
f94b6524 TTN |
687 | # We can re-enable install for some of these if/when they are documented |
688 | # and people feel like maintaining them. For now, this is not the case. | |
2d6a14ad | 689 | noinst_SCRIPTS = guile-snarf-docs |
adb75a41 | 690 | |
359f46a4 LC |
691 | EXTRA_DIST = ChangeLog-scm ChangeLog-threads \ |
692 | ChangeLog-1996-1999 ChangeLog-2000 ChangeLog-2008 \ | |
693 | guile-func-name-check \ | |
694 | cpp-E.syms cpp-E.c cpp-SIG.syms cpp-SIG.c \ | |
695 | c-tokenize.lex \ | |
696 | scmconfig.h.top libgettext.h unidata_to_charset.pl libguile.map \ | |
475772ea | 697 | libguile-2.2-gdb.scm |
c99f9605 ML |
698 | # $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \ |
699 | # guile-procedures.txt guile.texi | |
733943b9 | 700 | |
fef07353 | 701 | ## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds. |
90ff3ec5 | 702 | libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status |
e151bee6 JB |
703 | @rm -f libpath.tmp |
704 | @echo '/* generated by Makefile */' > libpath.tmp | |
705 | @echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp | |
d8a20ddb | 706 | @echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp |
d5a1a8cd | 707 | @echo '#define SCM_SITE_DIR "$(sitedir)"' >> libpath.tmp |
bc325e76 | 708 | @echo '#define SCM_GLOBAL_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp |
28af5ee5 AW |
709 | @echo '#define SCM_LIB_DIR "$(libdir)"' >> libpath.tmp |
710 | @echo '#define SCM_EXTENSIONS_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions"' >> libpath.tmp | |
5b197db8 | 711 | @echo '#define SCM_CCACHE_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/ccache"' >> libpath.tmp |
9957641b | 712 | @echo '#define SCM_SITE_CCACHE_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/site-ccache"' >> libpath.tmp |
5b197db8 | 713 | @echo '#define SCM_EFFECTIVE_VERSION "$(GUILE_EFFECTIVE_VERSION)"' >> libpath.tmp |
e151bee6 JB |
714 | @echo '#define SCM_BUILD_INFO { \' >> libpath.tmp |
715 | @echo ' { "srcdir", "'"`cd @srcdir@; pwd`"'" }, \' >> libpath.tmp | |
c565712c | 716 | @echo ' { "top_srcdir", "@top_srcdir_absolute@" }, \' >> libpath.tmp |
e151bee6 JB |
717 | @echo ' { "prefix", "@prefix@" }, \' >> libpath.tmp |
718 | @echo ' { "exec_prefix", "@exec_prefix@" }, \' >> libpath.tmp | |
719 | @echo ' { "bindir", "@bindir@" }, \' >> libpath.tmp | |
720 | @echo ' { "sbindir", "@sbindir@" }, \' >> libpath.tmp | |
721 | @echo ' { "libexecdir", "@libexecdir@" }, \' >> libpath.tmp | |
722 | @echo ' { "datadir", "@datadir@" }, \' >> libpath.tmp | |
723 | @echo ' { "sysconfdir", "@sysconfdir@" }, \' >> libpath.tmp | |
724 | @echo ' { "sharedstatedir", "@sharedstatedir@" }, \' >> libpath.tmp | |
725 | @echo ' { "localstatedir", "@localstatedir@" }, \' >> libpath.tmp | |
726 | @echo ' { "libdir", "@libdir@" }, \' >> libpath.tmp | |
5b197db8 | 727 | @echo ' { "ccachedir", SCM_CCACHE_DIR }, \' >> libpath.tmp |
e151bee6 JB |
728 | @echo ' { "infodir", "@infodir@" }, \' >> libpath.tmp |
729 | @echo ' { "mandir", "@mandir@" }, \' >> libpath.tmp | |
730 | @echo ' { "includedir", "@includedir@" }, \' >> libpath.tmp | |
eb350124 AW |
731 | @echo ' { "pkgdatadir", "$(pkgdatadir)" }, \' >> libpath.tmp |
732 | @echo ' { "pkglibdir", "$(pkglibdir)" }, \' >> libpath.tmp | |
733 | @echo ' { "pkgincludedir", "$(pkgincludedir)" }, \' \ | |
e151bee6 | 734 | >> libpath.tmp |
869bfe86 | 735 | @echo ' { "extensiondir", "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions" }, \' >> libpath.tmp |
b6fae158 | 736 | @echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp |
54f16aec TTN |
737 | @echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \ |
738 | >> libpath.tmp | |
30dda257 | 739 | @echo ' { "LIBS", "@GUILE_LIBS@" }, \' >> libpath.tmp |
5bbc5359 | 740 | @echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp |
a6025413 | 741 | @echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T'`'" }, \' >> libpath.tmp |
e151bee6 | 742 | @echo '}' >> libpath.tmp |
a572fc95 | 743 | $(AM_V_GEN)mv libpath.tmp libpath.h |
733943b9 | 744 | |
3dc81fba | 745 | |
5dae693c | 746 | snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) |
e9c3d3f9 | 747 | |
3dc81fba | 748 | SUFFIXES = .x .doc |
a572fc95 | 749 | |
733943b9 | 750 | .c.x: |
a572fc95 | 751 | $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts) |
c99f9605 | 752 | .c.doc: |
e6d67f1e | 753 | $(AM_V_SNARF)./guile-snarf-docs -o $@ $< -- $(snarfcppopts) |
733943b9 | 754 | |
f9560a34 | 755 | $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h guile-snarf.in version.h |
c99f9605 | 756 | |
23f2b9a3 | 757 | $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES): scmconfig.h snarf.h guile-snarf-docs.in guile_filter_doc_snarfage$(EXEEXT) |
66418d34 | 758 | |
648da032 TTN |
759 | error.x: cpp-E.c |
760 | posix.x: cpp-SIG.c | |
faf6a29b | 761 | load.x: libpath.h |
0bc37aec | 762 | dynl.x: libpath.h |
faf6a29b | 763 | |
f8241358 | 764 | alldotdocfiles = $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) |
b8b06598 | 765 | snarf2checkedtexi = GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/uninstalled-env guild snarf-check-and-output-texi |
f8241358 TTN |
766 | dotdoc2texi = cat $(alldotdocfiles) | $(snarf2checkedtexi) |
767 | ||
2e945bcc | 768 | guile.texi: $(alldotdocfiles) guile$(EXEEXT) |
f8241358 TTN |
769 | $(dotdoc2texi) --manual > $@ || { rm $@; false; } |
770 | ||
2e945bcc | 771 | guile-procedures.texi: $(alldotdocfiles) guile$(EXEEXT) |
a572fc95 | 772 | $(AM_V_GEN)$(dotdoc2texi) > $@ || { rm $@; false; } |
9d29e990 | 773 | |
30e3be5a | 774 | c-tokenize.c: c-tokenize.lex |
47ac1e47 | 775 | flex -t $(srcdir)/c-tokenize.lex > $@ || { rm $@; false; } |
30e3be5a | 776 | |
733943b9 | 777 | ## Add -MG to make the .x magic work with auto-dep code. |
47871d5a | 778 | MKDEP = gcc -M -MG $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) |
ee78fbb0 | 779 | |
648da032 TTN |
780 | \f |
781 | # This page is for maintenance of the lists of CPP symbols that are eventually | |
782 | # included in error.c (‘errno’ values: E*) and posix.c (signal names: SIG*), | |
783 | # in the funcs scm_init_{error,posix}, respectively. | |
784 | # | |
785 | # The lists (files cpp-{E,SIG}.syms) are not included verbatim, but processed | |
786 | # (via pattern rule ‘.syms.c’ below) so that each CPP symbol is transformed to | |
787 | # fragment of #ifdef'd C code that defines a Scheme variable of the same name. | |
788 | # The resulting files, cpp-{E,SIG}.c, are the ones #include:d. | |
789 | # | |
790 | # To maintain the (source) lists of symbols, we use a GCC-specific feature | |
791 | # to list all symbols #define:d when expanding <{errno,signal}.h>, grep | |
792 | # the output for {E,SIG}*, massage the result into a usable form, and | |
793 | # construct a union of the current and new symbols. This is written to | |
794 | # files cpp-{E,SIG}.syms.NEW for review. If things look ok, you can then | |
795 | # "mv foo.NEW foo" and commit. Generating the foo.NEW files and showing | |
796 | # an informative message is the job of targets chknew-{E,SIG}. | |
797 | ||
798 | # For each line in foo.syms, transform: | |
799 | # SYMBOL | |
800 | # to: | |
801 | # #ifdef SYMBOL | |
802 | # scm_c_define ("SYMBOL", scm_from_int (SYMBOL)); | |
803 | # #endif | |
319b53dd TTN |
804 | # writing output to foo.c. We use a while-read loop instead of a |
805 | # one-line sed script because some seds (e.g., FreeBSD) don't read | |
806 | # '\n' as a newline (like GNU sed does). Sad, but true. | |
648da032 | 807 | .syms.c: |
bfebf099 | 808 | $(AM_V_GEN) \ |
319b53dd TTN |
809 | cat $< | while read sym ; do \ |
810 | echo "#ifdef $$sym" ; \ | |
811 | echo "scm_c_define (\"$$sym\", scm_from_int ($$sym));" ; \ | |
812 | echo "#endif" ; \ | |
813 | done > $@T | |
bfebf099 | 814 | @mv $@T $@ |
648da032 TTN |
815 | |
816 | # Write $(srcdir)/cpp-{E,SIG}.syms.NEW if there are any not-yet-seen | |
817 | # ("new" to us) E* or SIG* symbols in <errno.h> or <signal.h>, respectively. | |
9253d090 | 818 | chknew-E chknew-SIG: \ |
648da032 TTN |
819 | @bit=`echo $@ | sed s/^chknew-//` ; \ |
820 | old="$(srcdir)/cpp-$$bit.syms" ; \ | |
821 | echo "#include <$${bit}.h>" \ | |
822 | | sed 's/E/errno/;s/SIG/signal/' \ | |
9253d090 | 823 | | gcc -dM -E - \ |
648da032 TTN |
824 | | sed 's/^#define //;/^'$$bit'[A-Z][A-Z]*/!d;s/ .*//' \ |
825 | | sort | diff -u $$old - | sed '1,2d;/^+/!d;s/^.//' \ | |
826 | > TMP ; \ | |
827 | if [ -s TMP ] ; then new="$$old.NEW" ; \ | |
828 | cat $$old TMP | sort > $$new ; \ | |
829 | echo "$$new: `sed -n '$$=' TMP` new symbol(s)." ; \ | |
830 | sed 's/^/ /' TMP ; \ | |
831 | else echo "No new symbols found." ; \ | |
832 | fi ; rm TMP | |
833 | ||
834 | \f | |
67ec3667 | 835 | |
ad6b30a0 | 836 | MOSTLYCLEANFILES = \ |
23ccb831 | 837 | scmconfig.h scmconfig.h.tmp |
ad6b30a0 | 838 | |
1c33be99 | 839 | CLEANFILES = libpath.h *.x *.doc guile-procedures.txt guile-procedures.texi guile.texi |
ee0c0e03 ML |
840 | |
841 | MAINTAINERCLEANFILES = c-tokenize.c |