From 9e813736bd6839d308850ecb90f0d9879232ef9f Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Fri, 22 Nov 2013 09:36:14 -0500 Subject: 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(-) --- Makefile.am | 30 +++--- src/c/Makefile.am | 2 +- src/compiler.mlb | 2 +- src/sources | 302 +++++++++++++++++++++++++++--------------------------- 4 files changed, 168 insertions(+), 168 deletions(-) diff --git a/Makefile.am b/Makefile.am index fa3ee896..18af883c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,14 +26,12 @@ clean-local: 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 = mlton # 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 --git a/src/c/Makefile.am b/src/c/Makefile.am index 4cb3cdbc..fdc033f6 100644 --- a/src/c/Makefile.am +++ b/src/c/Makefile.am @@ -6,7 +6,7 @@ liburweb_cgi_la_SOURCES = cgi.c 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 --git a/src/compiler.mlb b/src/compiler.mlb index f0007284..04a58719 100644 --- a/src/compiler.mlb +++ b/src/compiler.mlb @@ -1,6 +1,6 @@ $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/mlton.mlb -urweb.mlb +$(BUILD)/urweb.mlb main.mlton.sml diff --git a/src/sources b/src/sources index 39360dd7..7ce9a7a0 100644 --- a/src/sources +++ b/src/sources @@ -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 -- cgit v1.2.3