| 1 | ## Process this file with automake to produce Makefile.in. |
| 2 | ## |
| 3 | ## Copyright (C) 2009, 2010, 2011, 2012, 2013, |
| 4 | ## 2014, 2015 Free Software Foundation, Inc. |
| 5 | ## |
| 6 | ## This file is part of GUILE. |
| 7 | ## |
| 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 |
| 11 | ## (at your option) any later version. |
| 12 | ## |
| 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 |
| 16 | ## GNU Lesser General Public License for more details. |
| 17 | ## |
| 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 |
| 22 | |
| 23 | include $(top_srcdir)/am/guilec |
| 24 | |
| 25 | # We're at the root of the module hierarchy. |
| 26 | modpath = |
| 27 | |
| 28 | # Build eval.go first. Then build psyntax-pp.go, as the expander has to |
| 29 | # run on every loaded scheme file. It doesn't pay off at compile-time |
| 30 | # to interpret the expander in parallel. |
| 31 | BOOT_SOURCES = ice-9/psyntax-pp.scm |
| 32 | BOOT_GOBJECTS = $(BOOT_SOURCES:%.scm=%.go) |
| 33 | $(BOOT_GOBJECTS): ice-9/eval.go |
| 34 | $(GOBJECTS): $(BOOT_GOBJECTS) |
| 35 | CLEANFILES += ice-9/eval.go $(BOOT_GOBJECTS) |
| 36 | nobase_mod_DATA += ice-9/eval.scm $(BOOT_SOURCES) |
| 37 | nobase_ccache_DATA += ice-9/eval.go $(BOOT_GOBJECTS) |
| 38 | EXTRA_DIST += ice-9/eval.scm $(BOOT_SOURCES) |
| 39 | ETAGS_ARGS += ice-9/eval.scm $(BOOT_SOURCES) |
| 40 | |
| 41 | VM_TARGETS := system/vm/assembler.go system/vm/disassembler.go |
| 42 | $(VM_TARGETS): $(top_builddir)/libguile/vm-operations.h |
| 43 | |
| 44 | ice-9/boot-9.go: ice-9/boot-9.scm ice-9/quasisyntax.scm ice-9/r6rs-libraries.scm |
| 45 | ice-9/match.go: ice-9/match.scm ice-9/match.upstream.scm |
| 46 | |
| 47 | # We can compile these in any order, but it's fastest if we compile |
| 48 | # boot-9 first, then the compiler itself, then the rest of the code. |
| 49 | SOURCES = \ |
| 50 | ice-9/boot-9.scm \ |
| 51 | language/tree-il/peval.scm \ |
| 52 | language/cps/types.scm \ |
| 53 | system/vm/elf.scm \ |
| 54 | ice-9/vlist.scm \ |
| 55 | srfi/srfi-1.scm \ |
| 56 | system/vm/linker.scm \ |
| 57 | system/vm/dwarf.scm \ |
| 58 | system/vm/assembler.scm \ |
| 59 | \ |
| 60 | language/tree-il.scm \ |
| 61 | $(TREE_IL_LANG_SOURCES) \ |
| 62 | $(CPS_LANG_SOURCES) \ |
| 63 | $(BYTECODE_LANG_SOURCES) \ |
| 64 | $(VALUE_LANG_SOURCES) \ |
| 65 | $(SCHEME_LANG_SOURCES) \ |
| 66 | $(SYSTEM_BASE_SOURCES) \ |
| 67 | \ |
| 68 | $(ICE_9_SOURCES) \ |
| 69 | $(SYSTEM_SOURCES) \ |
| 70 | $(SRFI_SOURCES) \ |
| 71 | $(RNRS_SOURCES) \ |
| 72 | $(OOP_SOURCES) \ |
| 73 | $(SCRIPTS_SOURCES) \ |
| 74 | $(ECMASCRIPT_LANG_SOURCES) \ |
| 75 | $(ELISP_LANG_SOURCES) \ |
| 76 | $(BRAINFUCK_LANG_SOURCES) \ |
| 77 | $(LIB_SOURCES) \ |
| 78 | $(WEB_SOURCES) |
| 79 | |
| 80 | ## test.scm is not currently installed. |
| 81 | EXTRA_DIST += \ |
| 82 | ice-9/test.scm \ |
| 83 | ice-9/compile-psyntax.scm \ |
| 84 | ice-9/ChangeLog-2008 |
| 85 | ETAGS_ARGS += \ |
| 86 | ice-9/test.scm \ |
| 87 | ice-9/compile-psyntax.scm \ |
| 88 | ice-9/ChangeLog-2008 |
| 89 | |
| 90 | ice-9/psyntax-pp.scm.gen: |
| 91 | $(top_builddir_absolute)/meta/guile --no-auto-compile -s $(srcdir)/ice-9/compile-psyntax.scm \ |
| 92 | $(srcdir)/ice-9/psyntax.scm $(srcdir)/ice-9/psyntax-pp.scm |
| 93 | |
| 94 | .PHONY: ice-9/psyntax-pp.scm.gen |
| 95 | |
| 96 | # Keep this rule in sync with that in `am/guilec'. |
| 97 | ice-9/psyntax-pp.go: ice-9/psyntax.scm ice-9/psyntax-pp.scm |
| 98 | $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \ |
| 99 | $(top_builddir)/meta/uninstalled-env \ |
| 100 | guild compile --target="$(host)" $(GUILE_WARNINGS) \ |
| 101 | -L "$(abs_srcdir)" -L "$(abs_builddir)" \ |
| 102 | -L "$(abs_top_srcdir)/guile-readline" \ |
| 103 | -o "ice-9/psyntax-pp.go" "$(srcdir)/ice-9/psyntax.scm" |
| 104 | |
| 105 | SCHEME_LANG_SOURCES = \ |
| 106 | language/scheme/spec.scm \ |
| 107 | language/scheme/compile-tree-il.scm \ |
| 108 | language/scheme/decompile-tree-il.scm |
| 109 | |
| 110 | TREE_IL_LANG_SOURCES = \ |
| 111 | language/tree-il/primitives.scm \ |
| 112 | language/tree-il/effects.scm \ |
| 113 | language/tree-il/fix-letrec.scm \ |
| 114 | language/tree-il/optimize.scm \ |
| 115 | language/tree-il/canonicalize.scm \ |
| 116 | language/tree-il/analyze.scm \ |
| 117 | language/tree-il/inline.scm \ |
| 118 | language/tree-il/compile-cps.scm \ |
| 119 | language/tree-il/debug.scm \ |
| 120 | language/tree-il/spec.scm |
| 121 | |
| 122 | CPS_LANG_SOURCES = \ |
| 123 | language/cps.scm \ |
| 124 | language/cps/arities.scm \ |
| 125 | language/cps/closure-conversion.scm \ |
| 126 | language/cps/compile-bytecode.scm \ |
| 127 | language/cps/constructors.scm \ |
| 128 | language/cps/contification.scm \ |
| 129 | language/cps/cse.scm \ |
| 130 | language/cps/dce.scm \ |
| 131 | language/cps/dfg.scm \ |
| 132 | language/cps/effects-analysis.scm \ |
| 133 | language/cps/elide-values.scm \ |
| 134 | language/cps/intmap.scm \ |
| 135 | language/cps/intset.scm \ |
| 136 | language/cps/primitives.scm \ |
| 137 | language/cps/prune-bailouts.scm \ |
| 138 | language/cps/prune-top-level-scopes.scm \ |
| 139 | language/cps/reify-primitives.scm \ |
| 140 | language/cps/renumber.scm \ |
| 141 | language/cps/self-references.scm \ |
| 142 | language/cps/slot-allocation.scm \ |
| 143 | language/cps/simplify.scm \ |
| 144 | language/cps/spec.scm \ |
| 145 | language/cps/specialize-primcalls.scm \ |
| 146 | language/cps/type-fold.scm \ |
| 147 | language/cps/verify.scm |
| 148 | |
| 149 | BYTECODE_LANG_SOURCES = \ |
| 150 | language/bytecode.scm \ |
| 151 | language/bytecode/spec.scm |
| 152 | |
| 153 | VALUE_LANG_SOURCES = \ |
| 154 | language/value/spec.scm |
| 155 | |
| 156 | ECMASCRIPT_LANG_SOURCES = \ |
| 157 | language/ecmascript/tokenize.scm \ |
| 158 | language/ecmascript/parse.scm \ |
| 159 | language/ecmascript/impl.scm \ |
| 160 | language/ecmascript/base.scm \ |
| 161 | language/ecmascript/function.scm \ |
| 162 | language/ecmascript/array.scm \ |
| 163 | language/ecmascript/compile-tree-il.scm \ |
| 164 | language/ecmascript/spec.scm |
| 165 | |
| 166 | ELISP_LANG_SOURCES = \ |
| 167 | language/elisp/falias.scm \ |
| 168 | language/elisp/lexer.scm \ |
| 169 | language/elisp/parser.scm \ |
| 170 | language/elisp/bindings.scm \ |
| 171 | language/elisp/compile-tree-il.scm \ |
| 172 | language/elisp/runtime.scm \ |
| 173 | language/elisp/runtime/function-slot.scm \ |
| 174 | language/elisp/runtime/value-slot.scm \ |
| 175 | language/elisp/spec.scm |
| 176 | |
| 177 | BRAINFUCK_LANG_SOURCES = \ |
| 178 | language/brainfuck/parse.scm \ |
| 179 | language/brainfuck/compile-scheme.scm \ |
| 180 | language/brainfuck/compile-tree-il.scm \ |
| 181 | language/brainfuck/spec.scm |
| 182 | |
| 183 | SCRIPTS_SOURCES = \ |
| 184 | scripts/compile.scm \ |
| 185 | scripts/disassemble.scm \ |
| 186 | scripts/display-commentary.scm \ |
| 187 | scripts/doc-snarf.scm \ |
| 188 | scripts/frisk.scm \ |
| 189 | scripts/generate-autoload.scm \ |
| 190 | scripts/help.scm \ |
| 191 | scripts/lint.scm \ |
| 192 | scripts/list.scm \ |
| 193 | scripts/punify.scm \ |
| 194 | scripts/read-scheme-source.scm \ |
| 195 | scripts/read-text-outline.scm \ |
| 196 | scripts/use2dot.scm \ |
| 197 | scripts/snarf-check-and-output-texi.scm \ |
| 198 | scripts/summarize-guile-TODO.scm \ |
| 199 | scripts/api-diff.scm \ |
| 200 | scripts/read-rfc822.scm \ |
| 201 | scripts/snarf-guile-m4-docs.scm \ |
| 202 | scripts/autofrisk.scm \ |
| 203 | scripts/scan-api.scm |
| 204 | |
| 205 | SYSTEM_BASE_SOURCES = \ |
| 206 | system/base/pmatch.scm \ |
| 207 | system/base/syntax.scm \ |
| 208 | system/base/compile.scm \ |
| 209 | system/base/language.scm \ |
| 210 | system/base/lalr.scm \ |
| 211 | system/base/message.scm \ |
| 212 | system/base/target.scm \ |
| 213 | system/base/types.scm \ |
| 214 | system/base/ck.scm |
| 215 | |
| 216 | ICE_9_SOURCES = \ |
| 217 | ice-9/r5rs.scm \ |
| 218 | ice-9/deprecated.scm \ |
| 219 | ice-9/and-let-star.scm \ |
| 220 | ice-9/binary-ports.scm \ |
| 221 | ice-9/calling.scm \ |
| 222 | ice-9/command-line.scm \ |
| 223 | ice-9/common-list.scm \ |
| 224 | ice-9/control.scm \ |
| 225 | ice-9/curried-definitions.scm \ |
| 226 | ice-9/debug.scm \ |
| 227 | ice-9/documentation.scm \ |
| 228 | ice-9/eval-string.scm \ |
| 229 | ice-9/expect.scm \ |
| 230 | ice-9/format.scm \ |
| 231 | ice-9/futures.scm \ |
| 232 | ice-9/getopt-long.scm \ |
| 233 | ice-9/hash-table.scm \ |
| 234 | ice-9/hcons.scm \ |
| 235 | ice-9/i18n.scm \ |
| 236 | ice-9/iconv.scm \ |
| 237 | ice-9/lineio.scm \ |
| 238 | ice-9/ls.scm \ |
| 239 | ice-9/mapping.scm \ |
| 240 | ice-9/match.scm \ |
| 241 | ice-9/networking.scm \ |
| 242 | ice-9/null.scm \ |
| 243 | ice-9/occam-channel.scm \ |
| 244 | ice-9/optargs.scm \ |
| 245 | ice-9/peg/simplify-tree.scm \ |
| 246 | ice-9/peg/codegen.scm \ |
| 247 | ice-9/peg/cache.scm \ |
| 248 | ice-9/peg/using-parsers.scm \ |
| 249 | ice-9/peg/string-peg.scm \ |
| 250 | ice-9/peg.scm \ |
| 251 | ice-9/poe.scm \ |
| 252 | ice-9/poll.scm \ |
| 253 | ice-9/popen.scm \ |
| 254 | ice-9/posix.scm \ |
| 255 | ice-9/q.scm \ |
| 256 | ice-9/rdelim.scm \ |
| 257 | ice-9/receive.scm \ |
| 258 | ice-9/regex.scm \ |
| 259 | ice-9/runq.scm \ |
| 260 | ice-9/rw.scm \ |
| 261 | ice-9/safe-r5rs.scm \ |
| 262 | ice-9/safe.scm \ |
| 263 | ice-9/save-stack.scm \ |
| 264 | ice-9/scm-style-repl.scm \ |
| 265 | ice-9/session.scm \ |
| 266 | ice-9/slib.scm \ |
| 267 | ice-9/stack-catch.scm \ |
| 268 | ice-9/streams.scm \ |
| 269 | ice-9/string-fun.scm \ |
| 270 | ice-9/syncase.scm \ |
| 271 | ice-9/threads.scm \ |
| 272 | ice-9/top-repl.scm \ |
| 273 | ice-9/buffered-input.scm \ |
| 274 | ice-9/time.scm \ |
| 275 | ice-9/history.scm \ |
| 276 | ice-9/channel.scm \ |
| 277 | ice-9/pretty-print.scm \ |
| 278 | ice-9/ftw.scm \ |
| 279 | ice-9/gap-buffer.scm \ |
| 280 | ice-9/weak-vector.scm \ |
| 281 | ice-9/list.scm \ |
| 282 | ice-9/serialize.scm \ |
| 283 | ice-9/local-eval.scm \ |
| 284 | ice-9/unicode.scm |
| 285 | |
| 286 | srfi/srfi-64.go: srfi/srfi-64.scm srfi/srfi-64/testing.scm |
| 287 | |
| 288 | SRFI_SOURCES = \ |
| 289 | srfi/srfi-2.scm \ |
| 290 | srfi/srfi-4.scm \ |
| 291 | srfi/srfi-4/gnu.scm \ |
| 292 | srfi/srfi-6.scm \ |
| 293 | srfi/srfi-8.scm \ |
| 294 | srfi/srfi-9.scm \ |
| 295 | srfi/srfi-9/gnu.scm \ |
| 296 | srfi/srfi-10.scm \ |
| 297 | srfi/srfi-11.scm \ |
| 298 | srfi/srfi-13.scm \ |
| 299 | srfi/srfi-14.scm \ |
| 300 | srfi/srfi-16.scm \ |
| 301 | srfi/srfi-17.scm \ |
| 302 | srfi/srfi-18.scm \ |
| 303 | srfi/srfi-19.scm \ |
| 304 | srfi/srfi-26.scm \ |
| 305 | srfi/srfi-27.scm \ |
| 306 | srfi/srfi-28.scm \ |
| 307 | srfi/srfi-31.scm \ |
| 308 | srfi/srfi-34.scm \ |
| 309 | srfi/srfi-35.scm \ |
| 310 | srfi/srfi-37.scm \ |
| 311 | srfi/srfi-38.scm \ |
| 312 | srfi/srfi-41.scm \ |
| 313 | srfi/srfi-42.scm \ |
| 314 | srfi/srfi-43.scm \ |
| 315 | srfi/srfi-39.scm \ |
| 316 | srfi/srfi-45.scm \ |
| 317 | srfi/srfi-60.scm \ |
| 318 | srfi/srfi-64.scm \ |
| 319 | srfi/srfi-67.scm \ |
| 320 | srfi/srfi-69.scm \ |
| 321 | srfi/srfi-88.scm \ |
| 322 | srfi/srfi-98.scm \ |
| 323 | srfi/srfi-111.scm |
| 324 | |
| 325 | RNRS_SOURCES = \ |
| 326 | rnrs/base.scm \ |
| 327 | rnrs/conditions.scm \ |
| 328 | rnrs/control.scm \ |
| 329 | rnrs/enums.scm \ |
| 330 | rnrs/eval.scm \ |
| 331 | rnrs/exceptions.scm \ |
| 332 | rnrs/files.scm \ |
| 333 | rnrs/hashtables.scm \ |
| 334 | rnrs/lists.scm \ |
| 335 | rnrs/mutable-pairs.scm \ |
| 336 | rnrs/mutable-strings.scm \ |
| 337 | rnrs/programs.scm \ |
| 338 | rnrs/r5rs.scm \ |
| 339 | rnrs/sorting.scm \ |
| 340 | rnrs/syntax-case.scm \ |
| 341 | rnrs/unicode.scm \ |
| 342 | rnrs/arithmetic/bitwise.scm \ |
| 343 | rnrs/arithmetic/fixnums.scm \ |
| 344 | rnrs/arithmetic/flonums.scm \ |
| 345 | rnrs/bytevectors.scm \ |
| 346 | rnrs/io/simple.scm \ |
| 347 | rnrs/io/ports.scm \ |
| 348 | rnrs/records/inspection.scm \ |
| 349 | rnrs/records/procedural.scm \ |
| 350 | rnrs/records/syntactic.scm \ |
| 351 | rnrs.scm |
| 352 | |
| 353 | EXTRA_DIST += scripts/ChangeLog-2008 |
| 354 | EXTRA_DIST += scripts/README |
| 355 | |
| 356 | OOP_SOURCES = \ |
| 357 | oop/goops.scm \ |
| 358 | oop/goops/active-slot.scm \ |
| 359 | oop/goops/composite-slot.scm \ |
| 360 | oop/goops/describe.scm \ |
| 361 | oop/goops/internal.scm \ |
| 362 | oop/goops/save.scm \ |
| 363 | oop/goops/stklos.scm \ |
| 364 | oop/goops/accessors.scm \ |
| 365 | oop/goops/simple.scm |
| 366 | |
| 367 | SYSTEM_SOURCES = \ |
| 368 | system/vm/inspect.scm \ |
| 369 | system/vm/coverage.scm \ |
| 370 | system/vm/frame.scm \ |
| 371 | system/vm/loader.scm \ |
| 372 | system/vm/program.scm \ |
| 373 | system/vm/trace.scm \ |
| 374 | system/vm/traps.scm \ |
| 375 | system/vm/trap-state.scm \ |
| 376 | system/vm/debug.scm \ |
| 377 | system/vm/disassembler.scm \ |
| 378 | system/vm/vm.scm \ |
| 379 | system/foreign.scm \ |
| 380 | system/foreign-object.scm \ |
| 381 | system/xref.scm \ |
| 382 | system/repl/debug.scm \ |
| 383 | system/repl/error-handling.scm \ |
| 384 | system/repl/common.scm \ |
| 385 | system/repl/command.scm \ |
| 386 | system/repl/repl.scm \ |
| 387 | system/repl/server.scm \ |
| 388 | system/repl/coop-server.scm |
| 389 | |
| 390 | LIB_SOURCES = \ |
| 391 | statprof.scm \ |
| 392 | sxml/apply-templates.scm \ |
| 393 | sxml/fold.scm \ |
| 394 | sxml/match.scm \ |
| 395 | sxml/simple.scm \ |
| 396 | sxml/ssax/input-parse.scm \ |
| 397 | sxml/ssax.scm \ |
| 398 | sxml/transform.scm \ |
| 399 | sxml/xpath.scm \ |
| 400 | texinfo.scm \ |
| 401 | texinfo/docbook.scm \ |
| 402 | texinfo/html.scm \ |
| 403 | texinfo/indexing.scm \ |
| 404 | texinfo/string-utils.scm \ |
| 405 | texinfo/plain-text.scm \ |
| 406 | texinfo/reflection.scm \ |
| 407 | texinfo/serialize.scm |
| 408 | |
| 409 | WEB_SOURCES = \ |
| 410 | web/client.scm \ |
| 411 | web/http.scm \ |
| 412 | web/request.scm \ |
| 413 | web/response.scm \ |
| 414 | web/server.scm \ |
| 415 | web/server/http.scm \ |
| 416 | web/uri.scm |
| 417 | |
| 418 | EXTRA_DIST += oop/ChangeLog-2008 |
| 419 | |
| 420 | ELISP_SOURCES = \ |
| 421 | language/elisp/boot.el |
| 422 | |
| 423 | NOCOMP_SOURCES = \ |
| 424 | ice-9/match.upstream.scm \ |
| 425 | ice-9/psyntax.scm \ |
| 426 | ice-9/r6rs-libraries.scm \ |
| 427 | ice-9/quasisyntax.scm \ |
| 428 | srfi/srfi-42/ec.scm \ |
| 429 | srfi/srfi-64/testing.scm \ |
| 430 | srfi/srfi-67/compare.scm \ |
| 431 | system/base/lalr.upstream.scm \ |
| 432 | system/repl/describe.scm \ |
| 433 | sxml/sxml-match.ss \ |
| 434 | sxml/upstream/SSAX.scm \ |
| 435 | sxml/upstream/SXML-tree-trans.scm \ |
| 436 | sxml/upstream/SXPath-old.scm \ |
| 437 | sxml/upstream/assert.scm \ |
| 438 | sxml/upstream/input-parse.scm |