X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/e33ea30174c46fa2f75abe9341a936a7f597ced3..7a35400d896e6697902c2880afeba66965bd0f38:/src/Makefile.am diff --git a/src/Makefile.am b/src/Makefile.am index fd70ab3..c7779f9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -25,70 +25,73 @@ include $(top_srcdir)/vars.am -dist_pkglispsrc_DATA = +nobase_dist_pkglispsrc_DATA = $(LISP_SOURCES) +LISP_SOURCES = ###-------------------------------------------------------------------------- ### The source files. ## The system definition file. -dist_pkglispsrc_DATA += sod.asd +LISP_SOURCES += sod.asd ## The package definition file. -dist_pkglispsrc_DATA += package.lisp +LISP_SOURCES += package.lisp ## General utilities. -dist_pkglispsrc_DATA += utilities.lisp +LISP_SOURCES += utilities.lisp ## The parser library. -dist_pkglispsrc_DATA += parser/floc-proto.lisp parser/floc-impl.lisp -dist_pkglispsrc_DATA += parser/streams-proto.lisp parser/streams-impl.lisp -dist_pkglispsrc_DATA += parser/scanner-proto.lisp parser/scanner-impl.lisp -dist_pkglispsrc_DATA += parser/scanner-charbuf-impl.lisp -dist_pkglispsrc_DATA += parser/scanner-token-impl.lisp -dist_pkglispsrc_DATA += parser/parser-proto.lisp parser/parser-impl.lisp -dist_pkglispsrc_DATA += parser/parser-expr-proto.lisp \ +LISP_SOURCES += parser/package.lisp +LISP_SOURCES += parser/floc-proto.lisp parser/floc-impl.lisp +LISP_SOURCES += parser/streams-proto.lisp parser/streams-impl.lisp +LISP_SOURCES += parser/scanner-proto.lisp parser/scanner-impl.lisp +LISP_SOURCES += parser/scanner-charbuf-impl.lisp +LISP_SOURCES += parser/scanner-token-impl.lisp +LISP_SOURCES += parser/parser-proto.lisp parser/parser-impl.lisp +LISP_SOURCES += parser/parser-expr-proto.lisp \ parser/parser-expr-impl.lisp -dist_pkglispsrc_DATA += parser/scanner-context-impl.lisp +LISP_SOURCES += parser/scanner-context-impl.lisp ## Lexical analysis and translator-specific parser utilities. -dist_pkglispsrc_DATA += lexer-proto.lisp lexer-impl.lisp -dist_pkglispsrc_DATA += fragment-parse.lisp +LISP_SOURCES += lexer-proto.lisp lexer-impl.lisp +LISP_SOURCES += fragment-parse.lisp ## C type representation. -dist_pkglispsrc_DATA += c-types-proto.lisp c-types-impl.lisp \ +LISP_SOURCES += c-types-proto.lisp c-types-impl.lisp \ c-types-parse.lisp ## Property sets. -dist_pkglispsrc_DATA += pset-proto.lisp pset-impl.lisp pset-parse.lisp +LISP_SOURCES += pset-proto.lisp pset-impl.lisp pset-parse.lisp ## Code generation. -dist_pkglispsrc_DATA += codegen-proto.lisp codegen-impl.lisp +LISP_SOURCES += codegen-proto.lisp codegen-impl.lisp ## Output machinery. -dist_pkglispsrc_DATA += output-proto.lisp output-impl.lisp +LISP_SOURCES += output-proto.lisp output-impl.lisp ## Modules. -dist_pkglispsrc_DATA += module-proto.lisp module-impl.lisp -dist_pkglispsrc_DATA += module-parse.lisp module-output.lisp -dist_pkglispsrc_DATA += builtin.lisp +LISP_SOURCES += module-proto.lisp module-impl.lisp +LISP_SOURCES += module-parse.lisp module-output.lisp +LISP_SOURCES += builtin.lisp ## Class representation and layout. -dist_pkglispsrc_DATA += classes.lisp c-types-class-impl.lisp -dist_pkglispsrc_DATA += class-utilities.lisp -dist_pkglispsrc_DATA += class-make-proto.lisp class-make-impl.lisp -dist_pkglispsrc_DATA += class-layout-proto.lisp class-layout-impl.lisp -dist_pkglispsrc_DATA += class-finalize-proto.lisp class-finalize-impl.lisp -dist_pkglispsrc_DATA += class-output.lisp +LISP_SOURCES += classes.lisp c-types-class-impl.lisp +LISP_SOURCES += class-utilities.lisp +LISP_SOURCES += class-make-proto.lisp class-make-impl.lisp +LISP_SOURCES += class-layout-proto.lisp class-layout-impl.lisp +LISP_SOURCES += class-finalize-proto.lisp class-finalize-impl.lisp +LISP_SOURCES += class-output.lisp ## Method generation. -dist_pkglispsrc_DATA += method-proto.lisp method-impl.lisp +LISP_SOURCES += method-proto.lisp method-impl.lisp +LISP_SOURCES += method-aggregate.lisp ## User interface. -dist_pkglispsrc_DATA += sod-frontend.asd -dist_pkglispsrc_DATA += frontend.lisp optparse.lisp +LISP_SOURCES += sod-frontend.asd +LISP_SOURCES += frontend.lisp optparse.lisp -## Interactive testing. -dist_pkglispsrc_DATA += debug.lisp +## Finishing touches. +LISP_SOURCES += final.lisp ###-------------------------------------------------------------------------- ### Constructing an output image. @@ -98,7 +101,7 @@ CLEANFILES += *.$(fasl) parser/*.$(fasl) ## Building the executable image. bin_PROGRAMS += sod sod_SOURCES = -sod: $(dist_pkglispsrc_DATA) +sod: $(LISP_SOURCES) $(V_DUMP)true_srcdir=$$(cd $(srcdir); pwd); \ ASDF_OUTPUT_TRANSLATIONS=$$true_srcdir:$(abs_builddir): \ $(CL_LAUNCH) -o sod -d ! -l $(LISPSYS) +I -S $$true_srcdir/: \ @@ -126,8 +129,14 @@ EXTRA_DIST += lexer-test.lisp check-local: $(V_TEST)true_srcdir=$$(cd $(srcdir); pwd); \ ASDF_OUTPUT_TRANSLATIONS=$$true_srcdir:$(abs_builddir): \ - $(CL_LAUNCH) -l $(LISPSYS) +I -S $$true_srcdir/: \ - -i '(asdf:test-system "sod")' + $(CL_LAUNCH) -l $(LISPSYS) -s sod-test +I -S $$true_srcdir/: \ + -i '(handler-case ;\ + (progn ;\ + (setf sod-test:*build-version* "$(VERSION)") ;\ + (asdf:test-system "sod")) ;\ + (error (cond) ;\ + (format *error-output* "ERR: ~A~%" cond) ;\ + (cl-launch:quit 1)))' ###-------------------------------------------------------------------------- ### Installation.