]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/generic-vars.make
* stepmake/stepmake/*:
[lilypond.git] / stepmake / stepmake / generic-vars.make
index d228d5f9f2301f70b866a3b5bbfcd9b75ea48823..1e8d39353a5399b0b6103ae2d71cbd494306f63e 100644 (file)
@@ -1,72 +1,57 @@
-# directory names:
+top-build-dir = $(shell cd $(depth) && pwd)
+build-dir = $(shell cd . && pwd)
+tree-dir = $(subst $(top-build-dir),,$(build-dir))
 
-# depth from group-dir
-# internal, not normally used
-DEPTH = $(depth)/$(package-depth)
-
-#ifeq ($(topdir),)
-#abs-srcdir := $(shell cd $(depth); pwd)
-##deprecated
-#topdir := $(abs-srcdir)
-#endif
-
-## `which pwd` is to prevent symlink resolving intelligence 
-pwd:=$(shell `which pwd`)
-current-relative-dir:=$(subst $(strip $(shell cd $(depth); `which pwd`)),,$(pwd))
+ifneq ($(configure-srcdir),.)
+srcdir-build = 1
+endif
 
-ifeq ($(srcdir),.)
+ifndef srcdir-build
 src-depth = $(depth)
 else
-src-depth = $(srcdir)
+src-depth = $(configure-srcdir)
 endif
 
-ifeq ($(topdir),)
-abs-srcdir := $(shell cd $(src-depth); pwd)
-topdir := $(abs-srcdir)
+top-src-dir := $(shell cd $(src-depth); pwd)
+
+ifndef srcdir-build
+src-dir = .
+else
+src-dir = $(top-src-dir)$(tree-dir)
+VPATH = $(src-dir)
 endif
 
-# derived names
+.UNEXPORT: build-dir src-dir tree-dir
+
+src-wildcard = $(subst $(src-dir)/,,$(wildcard $(src-dir)/$(1)))
+
 ifeq ($(distdir),)
-  distdir = $(topdir)/$(outdir)/$(DIST_NAME)
+  distdir = $(top-src-dir)/$(outdir)/$(DIST_NAME)
   DIST_NAME = $(package)-$(TOPLEVEL_VERSION)
 endif
 distname = $(package)-$(TOPLEVEL_VERSION)
 
 doc-dir = $(src-depth)/Documentation
 po-dir = $(src-depth)/po
-
-# sort-out which of these are still needed
-#
-$(package)_bindir = $(depth)/bin
 step-bindir = $(stepmake)/bin
 
+# stepmake package support.
+DEPTH = $(depth)/$(package-depth)
+
 group-dir = $(shell cd $(DEPTH);pwd)/..
 release-dir = $(group-dir)/releases
 patch-dir = $(group-dir)/patches
-#
-# i have in $HOME/.rpmrc
-#     topdir: /home/fred/usr/src/Redhat
-#
 rpm-sources = $(release-dir)
 rpm-build = $(group-dir)/RedHat/BUILD
-#
-
-# package-icon=$(outdir)/$(package)-icon.gif
-package-icon=$(outdir)/$(package)-icon.xpm
+package-icon = $(outdir)/$(package)-icon.xpm
 
-
-# need to be defined in local Makefiles:
-#
-FOOBAR = 
-# the version:
-#
-ifneq ($(MY_PATCH_LEVEL),$(FOOBAR))
+ifneq ($(strip $(MY_PATCH_LEVEL)),)
 VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL).$(MY_PATCH_LEVEL)
 else
 VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)
 endif
 
-ifneq ($(TOPLEVEL_MY_PATCH_LEVEL),$(FOOBAR))
+ifneq ($(strip $(TOPLEVEL_MY_PATCH_LEVEL)),)
 TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL).$(TOPLEVEL_MY_PATCH_LEVEL)
 else
 TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)
@@ -83,20 +68,18 @@ ERROR_LOG = 2> /dev/null
 SILENT_LOG = 2>&1 >  /dev/null
 date := $(shell date +%x)      #duplicated?
 
-INCLUDES = include $(outdir) $($(PACKAGE)_INCLUDES) $(MODULE_INCLUDES)
+INCLUDES = $(src-dir)/include $(outdir) $($(PACKAGE)_INCLUDES) $(MODULE_INCLUDES)
 
 M4 = m4
 
-#replace to do stripping of certain objects
-STRIPDEBUG=true 
-
-DIST_FILES=$(EXTRA_DIST_FILES) GNUmakefile $(ALL_SOURCES)  $(wildcard SConscript)
+DIST_FILES=$(EXTRA_DIST_FILES) GNUmakefile $(ALL_SOURCES) $(src-wildcard,SConscript)
 DOCDIR=$(depth)/$(outdir)
 
+#?
+STRIPDEBUG=true 
 STRIP=strip --strip-debug
-
-# substitute $(STRIP) in Site.make if you want stripping
 DO_STRIP=true
+
 LOOP=$(foreach i,  $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@ &&) true
 
 ETAGS_FLAGS =
@@ -104,7 +87,7 @@ CTAGS_FLAGS =
 
 makeflags=$(patsubst %==, %, $(patsubst ---%,,$(patsubst ----%,,$(MAKEFLAGS:%=--%))))
 
-IN_FILES := $(wildcard *.in)
+IN_FILES := $(call src-wildcard,*.in)
 SOURCE_FILES += $(IN_FILES)
 
 # Preprocessed .in documentation _FILES:
@@ -118,8 +101,6 @@ HOST_ARCH=$(shell $(CC) -dumpmachine)
 ifeq ($(HOST_ARCH),i686-pc-cygwin)
 CYGWIN_BUILD = yes
 endif
-#
-# ugh-- what if someone decides on: 'i568-pc-cygwin-gnu'
 ifeq ($(HOST_ARCH),i686-cygwin)
 CYGWIN_BUILD = yes
 endif