]> git.donarmstrong.com Git - lilypond.git/blobdiff - make/stepmake.make
Add '-dcrop' option to ps and svg backends
[lilypond.git] / make / stepmake.make
index 666099ee2e5b3752920f1f1b5d87bb935dd49a61..1de2e2b2d0df4ab0ba60b5888b31168cb361bc01 100644 (file)
@@ -1,6 +1,39 @@
 # make/Stepmake.make
 
-include $(depth)/make/toplevel-version.make
+# If usescons=something then reroute to scons if user is using that.
+ifdef usescons
+
+SCONS_USER = $(wildcard $(depth)/.sconsign)
+ifeq ($(SCONS_USER),)
+SCONS_USER = $(wildcard $(depth)/.sconf_temp)
+endif
+ifneq ($(SCONS_USER),)
+
+ifeq ($(strip $(depth)),..)
+here = $(notdir $(CURDIR))
+else
+ifeq ($(strip $(depth)),../..)
+# ZUCHT?
+# here = $(notdir $(dir $(CURDIR)))/$(notdir $(CURDIR))
+here = $(shell basename $$(dirname $(CURDIR)))/$(notdir $(CURDIR))
+endif
+endif
+
+MAKE_TARGETS = config deb diff dist distclean doc release po           \
+po-replace po-update all clean check default exe help install lib web  \
+web-install web-clean TAGS
+
+$(MAKE_TARGETS): scons
+
+# To make this trickery complete, we could have ./configure remove
+# traces of scons configuration.
+scons:
+       @echo "warning: $(SCONS_USER) detected, rerouting to scons"
+       cd $(depth) && scons $(here) $(MAKECMDGOALS)
+       false
+endif
+endif
+
 
 # Use alternate configurations alongside eachother:
 #
@@ -28,25 +61,30 @@ endif
 ifdef config
   config_make=$(config)
 else
-  ifeq ($(builddir),)
-    config_make=$(depth)/config$(CONFIGSUFFIX).make
-  else
-    config_make=$(builddir)/config$(CONFIGSUFFIX).make
-  endif
+  config_make=$(depth)/config$(CONFIGSUFFIX).make
 endif
 
-ifeq ($(builddir),)
-  outroot=.
-else
-  outroot=$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(pwd))
-endif
+outroot=.
 
 include $(config_make)
 
+include $(depth)/make/toplevel-version.make
+
+#
+# suggested settings
+#
+# CPU_COUNT=2   ## for SMP/Multicore machine
+# 
+-include $(depth)/local.make
+
+MICRO_VERSION=$(PATCH_LEVEL)
+BUILD_VERSION=1
+
+
 outdir=$(outroot)/$(outbase)
 
-# why not generic ?? 
-config_h=$(builddir)/config$(CONFIGSUFFIX).hh
+# why not generic ??
+config_h=$(top-build-dir)/config$(CONFIGSUFFIX).hh
 
 # The outdir that was configured for: best guess to find binaries
 outconfbase=out$(CONFIGSUFFIX)
@@ -57,7 +95,7 @@ stepdir = $(stepmake)/stepmake
 # for stepmake package
 # stepdir = $(depth)/stepmake
 
-STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES) 
+STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES)
 LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES)
 
 # Don't try to outsmart us, you puny computer!
@@ -70,6 +108,9 @@ ifeq ($(BUILTINS_REMOVED),)
 endif
 .SUFFIXES:
 
+# Keep this empty to prevent make from removing intermediate files.
+.SECONDARY:
+
 all:
 
 -include $(addprefix $(depth)/make/,$(addsuffix -inclusions.make, $(LOCALSTEPMAKE_TEMPLATES)))
@@ -79,13 +120,11 @@ all:
 
 include $(addprefix $(stepdir)/,$(addsuffix -vars.make, $(STEPMAKE_TEMPLATES)))
 
-# ugh. need to do this because of PATH :=$(topdir)/..:$(PATH) 
-include $(addprefix $(depth)/make/,$(addsuffix -vars.make, $(LOCALSTEPMAKE_TEMPLATES))) 
-
-
-include $(addprefix $(depth)/make/,$(addsuffix -rules.make, $(LOCALSTEPMAKE_TEMPLATES))) 
-include $(addprefix $(stepdir)/,$(addsuffix -rules.make, $(STEPMAKE_TEMPLATES))) 
-include $(addprefix $(depth)/make/,$(addsuffix -targets.make, $(LOCALSTEPMAKE_TEMPLATES))) 
-include $(addprefix $(stepdir)/,$(addsuffix -targets.make, $(STEPMAKE_TEMPLATES))) 
+# ugh. need to do this because of PATH :=$(top-src-dir)/..:$(PATH)
+include $(addprefix $(depth)/make/,$(addsuffix -vars.make, $(LOCALSTEPMAKE_TEMPLATES)))
 
 
+include $(addprefix $(depth)/make/,$(addsuffix -rules.make, $(LOCALSTEPMAKE_TEMPLATES)))
+include $(addprefix $(stepdir)/,$(addsuffix -rules.make, $(STEPMAKE_TEMPLATES)))
+include $(addprefix $(depth)/make/,$(addsuffix -targets.make, $(LOCALSTEPMAKE_TEMPLATES)))
+include $(addprefix $(stepdir)/,$(addsuffix -targets.make, $(STEPMAKE_TEMPLATES)))