Bug fix to properly display the name of GNU make on various systems

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@27819 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2009-02-08 21:38:59 +00:00
parent def3d62831
commit e8116c0433
3 changed files with 34 additions and 16 deletions

View file

@ -1,3 +1,13 @@
2009-02-08 Nicola Pero <nicola.pero@meta-innovation.com>
* gnustep-make-help: Use _MAKE_ instead of make when referring to
the GNU make program.
* rules.make (print-gnustep-make-help): Replace _MAKE_ with the
basename of $(MAKE) when printing the help, so that on different
systems the correct name for GNU make is used in the help. For
example, on OpenBSD it should be 'gmake', not 'make'. Issue
reported by Sebastian Reitenbach <buzzdee@web.de>.
2009-02-02 Nicola Pero <nicola.pero@meta-innovation.com>
* Documentation/releasenotes.texi: Updated.

View file

@ -28,12 +28,12 @@ that allows you to write powerful, robust and portable makefiles very
quickly. Traditionally it is used to build and install GNUstep software.
Most common targets:
make all (builds)
make install (builds and installs)
make uninstall (uninstalls)
make clean (deletes built files)
make distclean (deletes all built files)
make dist (creates a .tar.gz of the software sources)
_MAKE_ all (builds)
_MAKE_ install (builds and installs)
_MAKE_ uninstall (uninstalls)
_MAKE_ clean (deletes built files)
_MAKE_ distclean (deletes all built files)
_MAKE_ dist (creates a .tar.gz of the software sources)
Most common options that can be used with any of the targets:
messages=yes (prints verbosely all commands being executed)
@ -44,22 +44,22 @@ Most common options that can be used with any of the targets:
in the specified domain; the default is LOCAL)
MAKEFILE_NAME=xxx (uses makefiles called 'xxx'; the default is
'GNUmakefile'. Note that usually you'd use this option as in
'make -f xxx MAKEFILE_NAME=xxx'.)
'_MAKE_ -f xxx MAKEFILE_NAME=xxx'.)
You can use multiple of these options at the same time.
Examples:
make messages=yes
_MAKE_ messages=yes
Builds the software and prints verbosely the commands that are
being used (useful for debugging)
make install GNUSTEP_INSTALLATION_DOMAIN=USER
_MAKE_ install GNUSTEP_INSTALLATION_DOMAIN=USER
Builds the software and installs it into your user domain (normally
in the GNUstep directory of your home directory). Note that you
need to source GNUstep.sh to be able to use software installed
in your user domain.
make install strip=yes messages=yes
_MAKE_ install strip=yes messages=yes
Builds and installs the software and strips executables and object
files before installing. It also prints verbosely the commands
being executed.

View file

@ -674,13 +674,21 @@ $(GNUSTEP_OBJ_DIR):
print-gnustep-make-gui-libs \
print-gnustep-make-installation-domain
# Print GNUstep make help. The sed command is used to strip all lines
# beginning with '#' from the file. It will find all lines that match
# the pattern ^#.* (which means that they have a '#' at the beginning
# of the line, followed by any number of chars), and applies to them
# the operation d, which means delete.
# Print GNUstep make help. The sed command '/^#.*/d' is used to strip
# all lines beginning with '#' from the file. It will find all lines
# that match the pattern ^#.* (which means that they have a '#' at the
# beginning of the line, followed by any number of chars), and applies
# to them the operation d, which means delete.
#
# The gnustep-make-help file uses the string _MAKE_ whenever referring
# to the 'make' executable - for example, when if it says "type
# '_MAKE_ install' to install". We need to replace _MAKE_ with the
# correct name of GNU make on the system - usually 'make', but for
# example 'gmake' on OpenBSD. The sed command 's/_MAKE_/$(notdir
# $(MAKE))/' does that - it replaces everywhere the string _MAKE_ with
# the basename of $(MAKE).
print-gnustep-make-help:
@(cat $(GNUSTEP_MAKEFILES)/gnustep-make-help | sed -e '/^#.*/d')
@(cat $(GNUSTEP_MAKEFILES)/gnustep-make-help | sed -e '/^#.*/d' -e 's/_MAKE_/$(notdir $(MAKE))/')
# These targets are used by gnustep-config to allow people to get
# basic compilation/link flags for GNUstep ObjC code.