Documentation conveniences for packagers suggested by Markus, Niels, Sebastien

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@37566 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2014-01-10 10:25:47 +00:00
parent 60efe422b2
commit a972a3e53b
4 changed files with 54 additions and 4 deletions

View file

@ -1,3 +1,12 @@
2014-01-10 Richard Frith-Macdonald <rfm@gnu.org>
* GNUmakefile.in: Implement Sebastien's suggestions for make targets
to build/install documentation with or without gnustep-make as a
convenience for packagers.
* Documentation/GNUmakefile: Use uninstalled gnustep-make from
enclosing directory if available ... based on idea by Niels and
code/comments by Markus.
2014-01-06 Richard Frith-Macdonald <rfm@gnu.org>
* Instance/Documentation/texi.make:

View file

@ -12,6 +12,26 @@
# documentation from the internet! Or just read the documentation in
# source format. :-)
# As a special case, if gnustep-make has been configured (GNUstep.conf exists)
# in the enclosing directory, and has not yet been installed (GNUSTEP_MAKEFILES
# is not defined), we attempt to use the uninstalled version.
#
# As all makefile fragments in the source tree are positioned relative to
# each other in the same way they're installed, this works fine.
#
# If future changes happen to introduce different behaviour between the
# makefile fragments in the source tree and installed ones (which is not
# a trivial change), this strategy has to be reviewed. One possible solution
# then is to install make into a temporary directory (DESTDIR?) first, then to
# use these.
#
ifeq ($(GNUSTEP_MAKEFILES),)
ifeq ($(wildcard ../GNUstep.conf),../GNUstep.conf)
GNUSTEP_MAKEFILES=..
endif
endif
ifeq ($(GNUSTEP_MAKEFILES),)
# We have no gnustep-make installation to use. We need gnustep-make
@ -23,6 +43,8 @@ ifeq ($(GNUSTEP_MAKEFILES),)
# in the subdirectory ./tmp-installation, the run make again passing
# GNUSTEP_MAKEFILES set to point to the new makefile installation
CURRENT_DIR = $(shell pwd)
# To execute all, or clean, we first depend on a local
# temporary installation of gnustep-make; when we have it, we source
# GNUstep.sh, then we run the make command again.
@ -38,8 +60,6 @@ clean: ./tmp-installation/System/Library/Makefiles
install:
@echo "** To install the documentation you first install/set-up gnustep-make **"
CURRENT_DIR = $(shell pwd)
# This creates a local temporary installation of GNUstep-make
./tmp-installation/System/Library/Makefiles:
@echo "** No gnustep-make installation found, attempting to create a local/temporary one. **"
@ -170,6 +190,9 @@ after-install:: $(GNUSTEP_DOC)/Developer/Make/Manual $(GNUSTEP_DOC)/User/GNUstep
after-uninstall::
rm -f $(GNUSTEP_DOC)/Developer/Make/Manual/DESIGN
after-clean::
rm -rf tmp-build tmp-installation
after-distclean::
rm -f version.texi

View file

@ -322,9 +322,11 @@ uninstall:
-rmdir "$(tooldir)"
clean:
(cd Documentation; make distclean)
rm -f *~ Master/*~ Instance/*~ Instance/Shared/*~
distclean: clean
(cd Documentation; make distclean)
rm -f GNUmakefile config-noarch.make config.make config.h
rm -f config.cache config.log config.status
rm -f openapp opentool executable.template
@ -333,6 +335,14 @@ distclean: clean
rm -f gnustep-make.spec GNUstep.conf GNUstep-strict-v2.conf
rm -f config-precomp-test.out config-precomp-test.h.gch config-precomp-test.log
docs:
(cd Documentation; make)
install-docs:
(cd Documentation; make install)
install-all: install install-docs
svn-tag:
svn copy $(SVNPREFIX)/trunk $(SVNPREFIX)/tags/make-$(VERTAG) \
-m "Tag version $(VERTAG)"

View file

@ -373,8 +373,8 @@ around this basic set of commands.
DOCUMENTATION
-------------
Once you have packaged gnustep-make, you can package the gnustep-make
documentation.
Once you have packaged gnustep-make and installed the package,
you can package the gnustep-make documentation.
cd Documentation
DESTDIR=/tmp/my-package
@ -389,6 +389,14 @@ documentation.
A similar process may be used to package documentation for each of the
gnustep core libraries.
As a special case in gnustepmake, you can use special commands to build
and install the documentation.
To build and install the gnustep-make documentation from the top level:
make install-docs
To build and install the gnustep-make documnentation with gnustep-make:
make install-all
GNUSTEP-BASE