]> git.donarmstrong.com Git - lilypond.git/blobdiff - make/stepmake.make
patch::: 1.4.1.jcn2
[lilypond.git] / make / stepmake.make
index d31fae07264efc0e6b88378696400b61cd049b3e..d92fd1ff662b3871ed19f2596c392bdd65c1b9c3 100644 (file)
@@ -2,11 +2,6 @@
 
 include $(depth)/make/toplevel-version.make
 
-# Don't try to outsmart us, you puny computer!
-ifeq (0,${MAKELEVEL})
-  MAKE:=$(MAKE) --no-builtin-rules
-endif
-.SUFFIXES:
 
 # Use alternate configurations alongside eachother:
 #
@@ -47,7 +42,7 @@ endif
 include $(configuration)
 
 ifeq ($(builddir),.)
-  outroot=.
+  outroot=$(builddir)
 else
   outroot=$(depth)/$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(shell cd .; pwd))
 endif
@@ -55,6 +50,10 @@ endif
 outdir=$(outroot)/$(outbase)
 config_h=$(depth)/$(builddir)/config$(CONFIGSUFFIX).h
 
+# The outdir that was configured for: best guess to find binaries
+outconfbase=out$(CONFIGSUFFIX)
+outconfdir=$(outroot)/$(outconfbase)
+
 # user package
 stepdir = $(stepmake)/stepmake
 # for stepmake package
@@ -63,6 +62,15 @@ stepdir = $(stepmake)/stepmake
 STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES) 
 LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES)
 
+# Don't try to outsmart us, you puny computer!
+# Well, UGH.  This only removes builtin rules from
+# subsequent $(MAKE)s, *not* from the current run!
+ifeq ($(BUILTINS_REMOVED),)
+  export BUILTINS_REMOVED = yes
+  MAKE:=$(MAKE) --no-builtin-rules
+  include $(stepdir)/no-builtin-rules.make
+endif
+.SUFFIXES:
 
 all: