# HG changeset patch # User Anders Kaseorg # Date 1385130974 18000 # Node ID 0d2fdc2cc46c961ddf326d2d8b1f65c31a604f19 # Parent cd1cfecc8c72abb0f54e33fa7ee846ed6f05af5d Allow building in a separate build directory Signed-off-by: Anders Kaseorg --- Makefile.am | 30 +++--- src/c/Makefile.am | 2 +- src/compiler.mlb | 2 +- src/sources | 302 +++++++++++++++++++++++++++--------------------------- 4 files changed, 168 insertions(+), 168 deletions(-) diff -r cd1cfecc8c72 -r 0d2fdc2cc46c Makefile.am --- a/Makefile.am Fri Nov 22 09:36:14 2013 -0500 +++ b/Makefile.am Fri Nov 22 09:36:14 2013 -0500 @@ -26,14 +26,12 @@ rm -rf .cm src/.cm src/urweb.cm: src/prefix.cm src/sources - cat src/prefix.cm src/sources \ - >src/urweb.cm + cat $^ > $@ src/urweb.mlb: src/prefix.mlb src/sources src/suffix.mlb - cat src/prefix.mlb src/sources src/suffix.mlb \ - | sed -e 's/^\(.*\).grm$$/\1.mlton.grm.sig:\1.mlton.grm.sml/' -e 'y/:/\n/' \ - -e 's/^\(.*\).lex$$/\1.mlton.lex.sml/' \ - >$@ + sed -e 's/^\(.*\).grm$$/$$(BUILD)\/\1.mlton.grm.sig:\1.mlton.grm.sml/' -e 'y/:/\n/' \ + -e 's/^\(.*\).lex$$/$$(BUILD)\/\1.mlton.lex.sml/' \ + $^ > $@ src/urweb.mlton.lex: src/urweb.lex cp $< $@ @@ -56,34 +54,36 @@ # MLTON += -profile $(PROFILE) #endif -bin/urweb: xml/entities.sml \ - src/compiler.mlb src/urweb.mlb src/*.sig src/*.sml \ +bin/urweb: src/compiler.mlb xml/entities.sml \ + src/urweb.mlb $(srcdir)/src/*.sig $(srcdir)/src/*.sml src/config.sml \ src/urweb.mlton.lex.sml \ src/urweb.mlton.grm.sig src/urweb.mlton.grm.sml - $(MLTON) $(MLTONARGS) -output $@ src/compiler.mlb + mkdir -p bin + $(MLTON) $(MLTONARGS) -mlb-path-var 'SRC $(abs_srcdir)/src' -mlb-path-var 'BUILD $(abs_builddir)/src' -output $@ $< xml/entities.sml: xml/parse xml/xhtml-lat1.ent xml/xhtml-special.ent xml/xhtml-symbol.ent $^ > $@ xml/parse: xml/parse.sml - $(MLTON) $(MLTONARGS) xml/parse.sml + mkdir -p xml + $(MLTON) $(MLTONARGS) -output $@ $< install-exec-emacs: if USE_EMACS mkdir -p $(DESTDIR)$(SITELISP) - cp src/elisp/*.el $(DESTDIR)$(SITELISP)/ + cp $(srcdir)/src/elisp/*.el $(DESTDIR)$(SITELISP)/ endif install-exec-local-main: mkdir -p $(DESTDIR)$(BIN) install bin/urweb $(DESTDIR)$(BIN)/ mkdir -p $(DESTDIR)$(LIB_UR) - cp lib/ur/*.urs $(DESTDIR)$(LIB_UR)/ - cp lib/ur/*.ur $(DESTDIR)$(LIB_UR)/ + cp $(srcdir)/lib/ur/*.urs $(DESTDIR)$(LIB_UR)/ + cp $(srcdir)/lib/ur/*.ur $(DESTDIR)$(LIB_UR)/ mkdir -p $(DESTDIR)$(LIB_JS) - cp lib/js/*.js $(DESTDIR)$(LIB_JS)/ + cp $(srcdir)/lib/js/*.js $(DESTDIR)$(LIB_JS)/ mkdir -p $(DESTDIR)$(INCLUDE) - cp include/urweb/*.h $(DESTDIR)$(INCLUDE)/ + cp $(srcdir)/include/urweb/*.h $(DESTDIR)$(INCLUDE)/ install-exec-local: install-exec-local-main install-exec-emacs -ldconfig diff -r cd1cfecc8c72 -r 0d2fdc2cc46c src/c/Makefile.am --- a/src/c/Makefile.am Fri Nov 22 09:36:14 2013 -0500 +++ b/src/c/Makefile.am Fri Nov 22 09:36:14 2013 -0500 @@ -6,7 +6,7 @@ liburweb_fastcgi_la_SOURCES = fastcgi.c liburweb_static_la_SOURCES = static.c -AM_CPPFLAGS = -I../../include/urweb $(OPENSSL_INCLUDES) +AM_CPPFLAGS = -I$(srcdir)/../../include/urweb $(OPENSSL_INCLUDES) AM_CFLAGS = -Wimplicit -Wall -Werror -Wno-format-security -Wno-deprecated-declarations $(PTHREAD_CFLAGS) liburweb_la_LDFLAGS = $(AM_LDFLAGS) $(OPENSSL_LDFLAGS) liburweb_la_LIBADD = $(PTHREAD_LIBS) -lm $(OPENSSL_LIBS) diff -r cd1cfecc8c72 -r 0d2fdc2cc46c src/compiler.mlb --- a/src/compiler.mlb Fri Nov 22 09:36:14 2013 -0500 +++ b/src/compiler.mlb Fri Nov 22 09:36:14 2013 -0500 @@ -1,6 +1,6 @@ $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/mlton.mlb -urweb.mlb +$(BUILD)/urweb.mlb main.mlton.sml diff -r cd1cfecc8c72 -r 0d2fdc2cc46c src/sources --- a/src/sources Fri Nov 22 09:36:14 2013 -0500 +++ b/src/sources Fri Nov 22 09:36:14 2013 -0500 @@ -1,236 +1,236 @@ -config.sig +$(SRC)/config.sig config.sml -search.sig -search.sml +$(SRC)/search.sig +$(SRC)/search.sml -list_util.sig -list_util.sml +$(SRC)/list_util.sig +$(SRC)/list_util.sml -order.sig -order.sml +$(SRC)/order.sig +$(SRC)/order.sml -errormsg.sig -errormsg.sml +$(SRC)/errormsg.sig +$(SRC)/errormsg.sml -print.sig -print.sml +$(SRC)/print.sig +$(SRC)/print.sml -settings.sig -settings.sml +$(SRC)/settings.sig +$(SRC)/settings.sml -http.sig -http.sml +$(SRC)/http.sig +$(SRC)/http.sml -cgi.sig -cgi.sml +$(SRC)/cgi.sig +$(SRC)/cgi.sml -fastcgi.sig -fastcgi.sml +$(SRC)/fastcgi.sig +$(SRC)/fastcgi.sml -static.sig -static.sml +$(SRC)/static.sig +$(SRC)/static.sml -prim.sig -prim.sml +$(SRC)/prim.sig +$(SRC)/prim.sml -mysql.sig -mysql.sml +$(SRC)/mysql.sig +$(SRC)/mysql.sml -sqlite.sig -sqlite.sml +$(SRC)/sqlite.sig +$(SRC)/sqlite.sml -datatype_kind.sml +$(SRC)/datatype_kind.sml -export.sig -export.sml +$(SRC)/export.sig +$(SRC)/export.sml -source.sml +$(SRC)/source.sml -utf8.sig -utf8.sml +$(SRC)/utf8.sig +$(SRC)/utf8.sml ../xml/entities.sml urweb.grm urweb.lex -source_print.sig -source_print.sml +$(SRC)/source_print.sig +$(SRC)/source_print.sml -elab.sml +$(SRC)/elab.sml -elab_util.sig -elab_util.sml +$(SRC)/elab_util.sig +$(SRC)/elab_util.sml -elab_env.sig -elab_env.sml +$(SRC)/elab_env.sig +$(SRC)/elab_env.sml -elab_print.sig -elab_print.sml +$(SRC)/elab_print.sig +$(SRC)/elab_print.sml -elab_ops.sig -elab_ops.sml +$(SRC)/elab_ops.sig +$(SRC)/elab_ops.sml -disjoint.sig -disjoint.sml +$(SRC)/disjoint.sig +$(SRC)/disjoint.sml -elab_err.sig -elab_err.sml +$(SRC)/elab_err.sig +$(SRC)/elab_err.sml -mod_db.sig -mod_db.sml +$(SRC)/mod_db.sig +$(SRC)/mod_db.sml -elaborate.sig -elaborate.sml +$(SRC)/elaborate.sig +$(SRC)/elaborate.sml -unnest.sig -unnest.sml +$(SRC)/unnest.sig +$(SRC)/unnest.sml -termination.sig -termination.sml +$(SRC)/termination.sig +$(SRC)/termination.sml -expl.sml +$(SRC)/expl.sml -expl_util.sig -expl_util.sml +$(SRC)/expl_util.sig +$(SRC)/expl_util.sml -expl_env.sig -expl_env.sml +$(SRC)/expl_env.sig +$(SRC)/expl_env.sml -expl_print.sig -expl_print.sml +$(SRC)/expl_print.sig +$(SRC)/expl_print.sml -explify.sig -explify.sml +$(SRC)/explify.sig +$(SRC)/explify.sml -core.sml +$(SRC)/core.sml -core_util.sig -core_util.sml +$(SRC)/core_util.sig +$(SRC)/core_util.sml -core_env.sig -core_env.sml +$(SRC)/core_env.sig +$(SRC)/core_env.sml -core_print.sig -core_print.sml +$(SRC)/core_print.sig +$(SRC)/core_print.sml -corify.sig -corify.sml +$(SRC)/corify.sig +$(SRC)/corify.sml -reduce_local.sig -reduce_local.sml +$(SRC)/reduce_local.sig +$(SRC)/reduce_local.sml -shake.sig -shake.sml +$(SRC)/shake.sig +$(SRC)/shake.sml -core_untangle.sig -core_untangle.sml +$(SRC)/core_untangle.sig +$(SRC)/core_untangle.sml -especialize.sig -especialize.sml +$(SRC)/especialize.sig +$(SRC)/especialize.sml -reduce.sig -reduce.sml +$(SRC)/reduce.sig +$(SRC)/reduce.sml -unpoly.sig -unpoly.sml +$(SRC)/unpoly.sig +$(SRC)/unpoly.sml -specialize.sig -specialize.sml +$(SRC)/specialize.sig +$(SRC)/specialize.sml -rpcify.sig -rpcify.sml +$(SRC)/rpcify.sig +$(SRC)/rpcify.sml -tag.sig -tag.sml +$(SRC)/tag.sig +$(SRC)/tag.sml -effectize.sig -effectize.sml +$(SRC)/effectize.sig +$(SRC)/effectize.sml -marshalcheck.sig -marshalcheck.sml +$(SRC)/marshalcheck.sig +$(SRC)/marshalcheck.sml -css.sig -css.sml +$(SRC)/css.sig +$(SRC)/css.sml -mono.sml +$(SRC)/mono.sml -mono_util.sig -mono_util.sml +$(SRC)/mono_util.sig +$(SRC)/mono_util.sml -mono_env.sig -mono_env.sml +$(SRC)/mono_env.sig +$(SRC)/mono_env.sml -mono_print.sig -mono_print.sml +$(SRC)/mono_print.sig +$(SRC)/mono_print.sml -monoize.sig -monoize.sml +$(SRC)/monoize.sig +$(SRC)/monoize.sml -mono_reduce.sig -mono_reduce.sml +$(SRC)/mono_reduce.sig +$(SRC)/mono_reduce.sml -mono_opt.sig -mono_opt.sml +$(SRC)/mono_opt.sig +$(SRC)/mono_opt.sml -untangle.sig -untangle.sml +$(SRC)/untangle.sig +$(SRC)/untangle.sml -mono_shake.sig -mono_shake.sml +$(SRC)/mono_shake.sig +$(SRC)/mono_shake.sml -fuse.sig -fuse.sml +$(SRC)/fuse.sig +$(SRC)/fuse.sml -sql.sml +$(SRC)/sql.sml -iflow.sig -iflow.sml +$(SRC)/iflow.sig +$(SRC)/iflow.sml -name_js.sig -name_js.sml +$(SRC)/name_js.sig +$(SRC)/name_js.sml -jscomp.sig -jscomp.sml +$(SRC)/jscomp.sig +$(SRC)/jscomp.sml -pathcheck.sig -pathcheck.sml +$(SRC)/pathcheck.sig +$(SRC)/pathcheck.sml -sidecheck.sig -sidecheck.sml +$(SRC)/sidecheck.sig +$(SRC)/sidecheck.sml -sigcheck.sig -sigcheck.sml +$(SRC)/sigcheck.sig +$(SRC)/sigcheck.sml -cjr.sml +$(SRC)/cjr.sml -postgres.sig -postgres.sml +$(SRC)/postgres.sig +$(SRC)/postgres.sml -cjr_env.sig -cjr_env.sml +$(SRC)/cjr_env.sig +$(SRC)/cjr_env.sml -cjr_print.sig -cjr_print.sml +$(SRC)/cjr_print.sig +$(SRC)/cjr_print.sml -cjrize.sig -cjrize.sml +$(SRC)/cjrize.sig +$(SRC)/cjrize.sml -scriptcheck.sig -scriptcheck.sml +$(SRC)/scriptcheck.sig +$(SRC)/scriptcheck.sml -prepare.sig -prepare.sml +$(SRC)/prepare.sig +$(SRC)/prepare.sml -checknest.sig -checknest.sml +$(SRC)/checknest.sig +$(SRC)/checknest.sml -compiler.sig -compiler.sml +$(SRC)/compiler.sig +$(SRC)/compiler.sml -demo.sig -demo.sml +$(SRC)/demo.sig +$(SRC)/demo.sml -tutorial.sig -tutorial.sml +$(SRC)/tutorial.sig +$(SRC)/tutorial.sml