X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fstepmake%2Fgeneric-vars.make;h=fb75166e1ba61c35d0b1ad7e51237df30567bcfb;hb=c33c066fd6cc7f1d7f513e76c12e3688a4276059;hp=f1e29c02d7bf4dafec7dbd441ea76afe27c52287;hpb=7fd51755d9bdf40766a612b3c3e9a00f68238082;p=lilypond.git diff --git a/stepmake/stepmake/generic-vars.make b/stepmake/stepmake/generic-vars.make index f1e29c02d7..fb75166e1b 100644 --- a/stepmake/stepmake/generic-vars.make +++ b/stepmake/stepmake/generic-vars.make @@ -1,110 +1,96 @@ -# directory names: +top-build-dir := $(realpath $(depth) ) +build-dir := $(realpath . ) -# 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 +tree-dir = $(subst $(top-build-dir),,$(build-dir)) -## `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 := $(realpath $(src-depth)) + +ifndef srcdir-build +src-dir = . +else +src-dir = $(top-src-dir)$(tree-dir) +VPATH = $(src-dir) endif -# derived names +abs-src-dir = $(top-src-dir)$(tree-dir) + +.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-build-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 +po-srcdir = $(src-depth)/po +po-outdir = $(depth)/po/$(outdir) -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 -# +# stepmake package support. +DEPTH = $(depth)/$(package-depth) -# package-icon=$(outdir)/$(package)-icon.gif -package-icon=$(outdir)/$(package)-icon.xpm +INSTALLPY=$(buildscript-dir)/install -c +INSTALL=$(INSTALLPY) +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) endif -# no local settings in the build process. +# no locale settings in the build process. LANG= export LANG + +INFO_DIRECTORIES = Documentation + # clean file lists: # 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) 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 + +LOOP=+$(foreach i, $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@ &&) true ETAGS_FLAGS = -CTAGS_FLAGS = +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: @@ -112,14 +98,14 @@ OUTIN_FILES = $(addprefix $(outdir)/, $(IN_FILES:%.in=%)) ALL_SOURCES = $(SOURCE_FILES) -# Check if we are building for Cygwin -# -HOST_ARCH=$(shell $(CC) -dumpmachine) -ifeq ($(HOST_ARCH),i686-pc-cygwin) +ifeq (cygwin,$(findstring cygwin,$(HOST_ARCH))) CYGWIN_BUILD = yes endif -# -# ugh-- what if someone decides on: 'i568-pc-cygwin-gnu' -ifeq ($(HOST_ARCH),i686-cygwin) -CYGWIN_BUILD = yes + +ifeq (mingw,$(findstring mingw,$(HOST_ARCH))) +MINGW_BUILD = yes +endif + +ifeq (darwin,$(findstring darwin,$(HOST_ARCH))) +DARWIN_BUILD = yes endif