X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=make%2Fstepmake.make;h=1de2e2b2d0df4ab0ba60b5888b31168cb361bc01;hb=HEAD;hp=e860f1fb83ec392b72838130672eaa391ee27504;hpb=f9efd2c54b174591fa42889557686c7aea356547;p=lilypond.git diff --git a/make/stepmake.make b/make/stepmake.make index e860f1fb83..1de2e2b2d0 100644 --- a/make/stepmake.make +++ b/make/stepmake.make @@ -1,13 +1,38 @@ # make/Stepmake.make +# If usescons=something then reroute to scons if user is using that. +ifdef usescons -all: foe +SCONS_USER = $(wildcard $(depth)/.sconsign) +ifeq ($(SCONS_USER),) +SCONS_USER = $(wildcard $(depth)/.sconf_temp) +endif +ifneq ($(SCONS_USER),) -foe: - @echo one=.$(shell cd $(builddir); pwd). - @echo two=.$(shell cd $(depth); pwd). +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 -include $(depth)/make/toplevel-version.make +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: @@ -34,25 +59,32 @@ else endif ifdef config - configuration=$(config) + config_make=$(config) else - ifeq ($(builddir),) - configuration=$(depth)/config$(CONFIGSUFFIX).make - else - configuration=$(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 -include $(configuration) outdir=$(outroot)/$(outbase) -config_h=$(builddir)/config$(CONFIGSUFFIX).h + +# 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) @@ -63,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! @@ -76,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))) @@ -85,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)))