X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=make%2Fstepmake.make;h=3e7740506463e8d801bd519b2662b8c4fcea578b;hb=7244c2583a5ea8b89fd72a8b96d33511935cfe88;hp=c43fd0ffd6bc0ba02a91c38e5f04516887651b1d;hpb=a2441ac8c77d09651f4418bdb96bffea43066108;p=lilypond.git diff --git a/make/stepmake.make b/make/stepmake.make index c43fd0ffd6..3e77405064 100644 --- a/make/stepmake.make +++ b/make/stepmake.make @@ -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) @@ -34,26 +28,29 @@ endif ifdef config configuration=$(config) else - ifeq ($(builddir),.) + ifeq ($(builddir),) configuration=$(depth)/config$(CONFIGSUFFIX).make else - # user package - configuration=$(depth)/$(builddir)/config$(CONFIGSUFFIX).make - # stepmake package - #configuration=$(depth)/../$(builddir)/stepmake/config$(CONFIGSUFFIX).make + configuration=$(builddir)/config$(CONFIGSUFFIX).make endif endif -include $(configuration) - -ifeq ($(builddir),.) +ifeq ($(builddir),) outroot=. else - outroot=$(depth)/$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(shell cd .; pwd)) + outroot=$(builddir)/$(patsubst $(shell cd $(depth); pwd)%,%,$(pwd)) endif +include $(configuration) + outdir=$(outroot)/$(outbase) -config_h=$(depth)/$(builddir)/config$(CONFIGSUFFIX).h + +# why not generic ?? +config_h=$(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 @@ -63,6 +60,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: