]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/generic-vars.make
Remove StepMake as a separate package
[lilypond.git] / stepmake / stepmake / generic-vars.make
index e8e6cc6162694155764083fa63b5645b4d55a7da..b0fc521e931334a8f4c25867658fe183df7c4b7c 100644 (file)
@@ -1,81 +1,76 @@
-# title           generic variables
-# file    make/Variables.make
-#
-# do not change this file for site-wide extensions; please use 
-# make/$(outdir)/Site.make; 
-#
-# Any change in files in this directory (make/) would be distributed, if 
-# you do make dist 
+top-build-dir = $(shell cd $(depth) && pwd)
+build-dir = $(shell cd . && pwd)
+tree-dir = $(subst $(top-build-dir),,$(build-dir))
 
-# directory names:
+absdir = $(shell cd $(1) ; pwd)
 
-# depth from group-dir
-# internal, not normally used
-DEPTH = $(depth)/$(package-depth)
 
-ifeq ($(topdir),)
-topdir := $(shell cd $(depth); pwd)
+ifneq ($(configure-srcdir),.)
+srcdir-build = 1
 endif
-pwd := $(shell pwd)
 
-# $(depth) is deprecated, for most cases you'll want $(src-depth)
-#
-# Well, on second thought.
-# It can do no harm, but using src-depth iso depth is only necessary
-# for broken rules that do
-#    cd $(outdir) && foo  $(depth) ...
-src-depth = $(depth)/$(srcdir)
+ifndef srcdir-build
+src-depth = $(depth)
+else
+src-depth = $(configure-srcdir)
+endif
+
+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
+
+abs-src-dir = $(top-src-dir)$(tree-dir)
+
+.UNEXPORT: build-dir src-dir tree-dir
+
+src-wildcard = $(subst $(src-dir)/,,$(wildcard $(src-dir)/$(1)))
 
-# derived names
 ifeq ($(distdir),)
-  distdir = $(topdir)/$(outdir)/$(DIST_NAME)
+  distdir = $(top-build-dir)/$(outdir)/$(DIST_NAME)
   DIST_NAME = $(package)-$(TOPLEVEL_VERSION)
 endif
 distname = $(package)-$(TOPLEVEL_VERSION)
 
-# obsolete?
-#makeout = $(depth)/make/$(outdir)
-#docout = $(depth)/Documentation/$(outdir)
-#binout = $(depth)/bin/$(outdir)
-
 doc-dir = $(src-depth)/Documentation
-po-dir = $(src-depth)/po
+po-srcdir = $(src-depth)/po
+po-outdir = $(depth)/po/$(outdir)
 
-# 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
+INSTALLPY=$(buildscript-dir)/install -c
+INSTALL=$(INSTALLPY)
+
+group-dir = $(shell cd $(DEPTH);pwd)/..
 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.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 locale settings in the build process.
+LANG=
+export LANG
+
+
+INFO_DIRECTORIES = Documentation
 
 # clean file lists:
 #
@@ -83,65 +78,40 @@ ERROR_LOG = 2> /dev/null
 SILENT_LOG = 2>&1 >  /dev/null
 date := $(shell date +%x)      #duplicated?
 
-# compile and link options:
-#
-ARFLAGS = ru
-
-#INCLUDES =  $(depth)/$(builddir) include $(outdir) $($(PACKAGE)_INCLUDES) $(MODULE_INCLUDES)
-INCLUDES = include $(outdir) $($(PACKAGE)_INCLUDES) $(MODULE_INCLUDES)
-
-# urg: for windows ?
-# LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) -lstdc++
-#
+INCLUDES = $(src-dir)/include $(outdir) $($(PACKAGE)_INCLUDES) $(MODULE_INCLUDES)
 
-# macro compiler:
-#
 M4 = m4
-# 
-
-#
-LD_COMMAND = $(LD) $(LDFLAGS) -o $@
-#
-
-# dependencies:
-#
-depfile = $(outdir)/$(subst .o,.dep,$(notdir $@))#
-DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
-#
 
+DOCDIR=$(depth)/$(outdir)
 
-# generic target names:
-#
-ifdef NAME
-EXECUTABLE = $(outdir)/$(NAME)
-else
-EXECUTABLE =
-endif
+#?
+STRIPDEBUG=true
+STRIP=strip --strip-debug
+DO_STRIP=true
 
-EXECUTABLES = $(notdir $(EXECUTABLE))
+LOOP=+$(foreach i, $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) package=$(package) -C $(i) $@ &&) true
 
+ETAGS_FLAGS =
+CTAGS_FLAGS =
 
-#
+makeflags=$(patsubst %==, %, $(patsubst ---%,,$(patsubst ----%,,$(MAKEFLAGS:%=--%))))
 
-#replace to do stripping of certain objects
-STRIPDEBUG=true 
+IN_FILES := $(call src-wildcard,*.in)
+SOURCE_FILES += $(IN_FILES)
 
-DIST_FILES=$(EXTRA_DIST_FILES) GNUmakefile $(ALL_SOURCES)
-DOCDIR=$(depth)/$(outdir)
+# Preprocessed .in documentation _FILES:
+OUTIN_FILES = $(addprefix $(outdir)/, $(IN_FILES:%.in=%))
 
+ALL_SOURCES = $(SOURCE_FILES)
 
-STRIP=strip --strip-debug
-ifdef stablecc
- STABLEOBS=$(addprefix $(outdir)/,$(stablecc:.cc=.o))
+ifeq (cygwin,$(findstring cygwin,$(HOST_ARCH)))
+CYGWIN_BUILD = yes
 endif
 
-# substitute $(STRIP) in Site.make if you want stripping
-DO_STRIP=true
-LOOP=$(foreach i,  $(SUBDIRS), $(MAKE) PACKAGE=$(PACKAGE) -C $(i) $@ &&) true
-
-# different redhat releases need different flags for etags. Just use defaults.
-ETAGS_FLAGS= # -CT
-CTAGS_FLAGS=-h
-
-include $(stepdir)/files.make
+ifeq (mingw,$(findstring mingw,$(HOST_ARCH)))
+MINGW_BUILD = yes
+endif
 
+ifeq (darwin,$(findstring darwin,$(HOST_ARCH)))
+DARWIN_BUILD = yes
+endif