]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/make/stepmake.make
patch::: 1.4.1.jcn2
[lilypond.git] / stepmake / make / stepmake.make
index 1130415d69bdf696d5818568d5cb2ab3e835ffff..f0fb538cab0e1c668ed4200955c423481de707ff 100644 (file)
@@ -2,15 +2,9 @@
 
 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:
 #
-#     ./configure --enable-configsuffix=debug
+#     ./configure --enable-config=debug
 #     make conf=debug
 #
 # uses config-debug.make and config-debug.h; output goes to out-debug.
@@ -21,9 +15,9 @@ endif
 
 # Use same configuration, but different output directory:
 #
-#     make out=WWW
+#     make out=www
 #
-# uses config.make and config.h; output goes to out-WWW.
+# uses config.make and config.h; output goes to out-www.
 #
 ifdef out
   outbase=out-$(out)
@@ -38,7 +32,7 @@ else
     configuration=$(depth)/config$(CONFIGSUFFIX).make
   else
     # user package
-    configuration=$(depth)/$(builddir)/config$(CONFIGSUFFIX).make
+    configuration=$(depth)/$(builddir)/config$(CONFIGSUFFIX).make
     # stepmake package
     configuration=$(depth)/../$(builddir)/stepmake/config$(CONFIGSUFFIX).make
   endif
@@ -47,7 +41,7 @@ endif
 include $(configuration)
 
 ifeq ($(builddir),.)
-  outroot=.
+  outroot=$(builddir)
 else
   outroot=$(depth)/$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(shell cd .; pwd))
 endif
@@ -55,6 +49,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
@@ -64,6 +62,16 @@ 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:
 
 -include $(addprefix $(depth)/make/,$(addsuffix -inclusions.make, $(LOCALSTEPMAKE_TEMPLATES)))