Build process: Mention Local/Makefile-<buildname>
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Wed, 13 Mar 2019 20:43:52 +0000 (21:43 +0100)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Wed, 13 Mar 2019 20:43:52 +0000 (21:43 +0100)
src/Makefile
src/README
src/src/EDITME

index 761b2956c863ee10fedc2cd22f5e385adca73030..3aa3cc374122b01106db6a370a58e3f60ee6dc27 100644 (file)
 SHELL=/bin/sh
 RM_COMMAND=/bin/rm
 
-# If a build name has not been specified by running this make file via a
-# command of the form "make build=xxxx", then determine the name of the
-# operating system and the machine architecture and use that. This does not
-# provide an override for the OS type and architecture type; they still have
-# to be used for the OS-specific files. To override them, you can set the
+# The buildname defaults to "<os-type>-<arch-type>". It can be
+# overridden by the "build" parameter when invoking make (e.g. make
+# build=xxx) This does not provide an override for the OS type and
+# architecture type used during the build process; they still have to be
+# used for the OS-specific files. To override them, you can set the
 # shell variables OSTYPE and ARCHTYPE when running make.
 #
-# EXIM_BUILD_SUFFIX should be used to enable parallel builds on a file
-# system shared among different Linux distros (same os-type, same
-# arch-type). The ../test/runtest script is expected to honour the
-# EXIM_BUILD_SUFFIX when searching the Exim binary.
-# NOTE: EXIM_BUILD_SUFFIX is considered *experimental*.
+# EXIM_BUILD_SUFFIX gets appended to the buildname.  (This enables
+# parallel builds on a file system shared among different Linux distros
+# (same os-type, same arch-type). The ../test/runtest script honours the
+# EXIM_BUILD_SUFFIX when searching the Exim binary.)
 
 buildname=$${build:-`$(SHELL) scripts/os-type`-`$(SHELL) scripts/arch-type`}$${EXIM_BUILD_SUFFIX:+.$$EXIM_BUILD_SUFFIX}
 
 # The default target checks for the existence of Local/Makefile, that the main
 # makefile is built and up-to-date, and then it runs it.
+# If Local/Makefile-<buildname> exists, it is read too.
 
 all: Local/Makefile configure
        @cd build-$(buildname); $(MAKE) SHELL=$(SHELL) $(MFLAGS)
 
-
 # This pair for the convenience of of the Debian maintainers
 exim: Local/Makefile configure
        @cd build-$(buildname); $(MAKE) SHELL=$(SHELL) $(MFLAGS) exim
 utils: Local/Makefile configure
        @cd build-$(buildname); $(MAKE) SHELL=$(SHELL) $(MFLAGS) utils
 
-
 Local/Makefile:
        @echo ""
        @echo "*** Please create Local/Makefile by copying src/EDITME and making"
index 225295efb3adf926c2edf7fea36cf8fab26b568c..d9379f7f88fafdf8838abfeb6ea955733489a3d6 100644 (file)
@@ -150,6 +150,7 @@ system and architecture types respectively, the files used are:
   Local/Makefile-<ostype>
   Local/Makefile-<archtype>
   Local/Makefile-<ostype>-<archtype>
+  Local/Makefile-<buildname>
   OS/Makefile-Base
 
 Of the Local/* files, only Local/Makefile is required to exist; the rest are
index b2c27dafe9018e177f631b8f94eb65559c7a6548..a5bc8d0aa0c4699a7a2bb4d6135aaaf940c7dcd4 100644 (file)
 # Exim distribution directory before running the "make" command.
 
 # Things that depend on the operating system have default settings in
-# OS/Makefile-Default, but these are overridden for some OS by files called
-# called OS/Makefile-<osname>. You can further override these by creating files
-# called Local/Makefile-<osname>, where "<osname>" stands for the name of your
-# operating system - look at the names in the OS directory to see which names
-# are recognized.
+# OS/Makefile-Default, but these are overridden for some OS by files
+# called called OS/Makefile-<osname>. You can further override these by
+# creating files called Local/Makefile-<osname>, and
+# Local/Makefile-<buildname> (where "<osname>" stands for the name of
+# your operating system - look at the names in the OS directory to see
+# which names are recognized, and "<buildname>" is derived from the
+# environment variable "build")
 
 # However, if you are building Exim for a single OS only, you don't need to
 # worry about setting up Local/Makefile-<osname>. Any build-time configuration