Tidy up documentation generation and installation.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14292 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2002-08-16 08:35:18 +00:00
parent febdf3943f
commit 353b17de3a
6 changed files with 188 additions and 38 deletions

View file

@ -1,3 +1,13 @@
2002-08-16 Richard Frith-Macdonald <rfm@gnu.org>
* Source/Base.gsdoc: Moved to Documentation.
* Source/GNUmakefile: Removed documentation building code.
* Source/DocMakefile: New file for building refetrence documentation.
* Documentation/Base.gsdoc: New from source directory.
* Documentation/GNUmakefile: Set up installation directory name.
* Documentation/Makefile.postamble: Use ../Source/DocMakefile to build
library reference documentation and deal with installation.
2002-08-15 Adam Fedor <fedor@gnu.org>
* configure.ac: Add NetBSD header/ldflag support (Patch from

View file

@ -74,6 +74,13 @@ ANNOUNCE_TEXI_FILES = version.texi
ANNOUNCE_TEXT_MAIN = announce.texi
ANNOUNCE_DOC_INSTALL_DIR = Developer/Base/ReleaseNotes/$(VERSION)
#
# NB. Library reference documentation is generated by rules in the postamble
# file using the make file ../Source/DocMakefile. If headers are added to the
# library, you need to modify that file to get the autogsdoc tookl to use them.
#
REF_DOC_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Documentation/Developer/Base/Reference
-include Makefile.preamble
-include GNUmakefile.local

View file

@ -38,20 +38,38 @@
# Things to do before compiling
# before-all::
# Things to do after compiling
# after-all::
# After building local documentation, we need to run the special makefile
# in the source directory to generate library reference documentation from
# the source code.
after-all::
ifeq ($(HAVE_LIBXML),1)
$(MAKE) -C ../Source -f DocMakefile
endif
# Things to do before installing
# before-install::
# Things to do after installing
# after-install::
# Install the library reference documentaion manually
#
after-install::
ifeq ($(HAVE_LIBXML),1)
rm -rf $(REF_DOC_INSTALL_DIR)
$(MKDIRS) $(REF_DOC_INSTALL_DIR)
(cd Base; $(TAR) cf - .) | \
(cd $(REF_DOC_INSTALL_DIR); $(TAR) xf -)
ifneq ($(CHOWN_TO),)
$(CHOWN) -R $(CHOWN_TO) \
$(REF_DOC_INSTALL_DIR)
endif
endif
# Things to do before uninstalling
# before-uninstall::
# Things to do after uninstalling
# after-uninstall::
after-uninstall::
rm -rf $(REF_DOC_INSTALL_DIR)
# Things to do before cleaning
# before-clean::

140
Source/DocMakefile Normal file
View file

@ -0,0 +1,140 @@
#
# Makefile for GNUstep Base Library documentation.
#
# Copyright (C) 2002 Free Software Foundation, Inc.
#
# Written by: Richard Frith-Macdonald <rfm.gnu.org>
#
# This file is part of the GNUstep Base Library.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
#
MAKEFILE_NAME = DocMakefile
GNUSTEP_MAKEFILES = $(GNUSTEP_SYSTEM_ROOT)/Makefiles
include $(GNUSTEP_MAKEFILES)/common.make
DOCUMENT_NAME = Base
Base_DOC_INSTALL_DIR = Developer
Base_AGSDOC_FILES = \
../Documentation/Base.gsdoc \
GSMime.h \
GSXML.h \
NSArchiver.h \
NSArray.h \
NSAttributedString.h \
NSAutoreleasePool.h \
NSBitmapCharSet.h \
NSBundle.h \
NSCalendarDate.h \
NSCharacterSet.h \
NSClassDescription.h \
NSCoder.h \
NSConnection.h \
NSData.h \
NSDate.h \
NSDateFormatter.h \
NSDebug.h \
NSDecimal.h \
NSDecimalNumber.h \
NSDictionary.h \
NSDistantObject.h \
NSDistributedLock.h \
NSDistributedNotificationCenter.h \
NSEnumerator.h \
NSException.h \
NSFileHandle.h \
NSFileManager.h \
NSFormatter.h \
NSGeometry.h \
NSHashTable.h \
NSHost.h \
NSInvocation.h \
NSKeyValueCoding.h \
NSLock.h \
NSMapTable.h \
NSMethodSignature.h \
NSNotification.h \
NSNotificationQueue.h \
NSNull.h \
NSNumberFormatter.h \
NSObjCRuntime.h \
NSObject.h \
NSPort.h \
NSPortCoder.h \
NSPortMessage.h \
NSPortNameServer.h \
NSProcessInfo.h \
NSProtocolChecker.h \
NSProxy.h \
NSRange.h \
NSRunLoop.h \
NSScanner.h \
NSSet.h \
NSString.h \
NSTask.h \
NSThread.h \
NSTimeZone.h \
NSTimer.h \
NSURL.h \
NSURLHandle.h \
NSUndoManager.h \
NSUserDefaults.h \
NSValue.h \
NSZone.h
#
# Hack ... using the -DocumentationDirectory flag overrides the value
# used by the make package, and puts our output in the documentation
# directory.
#
Base_AGSDOC_FLAGS = \
-DocumentationDirectory ../Documentation/Base \
-HeaderDirectory ../Headers/Foundation \
-Declared Foundation \
-Standards YES \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
GS_EXPORT=extern;GS_DECLARE="";\
GS_RANGE_SCOPE=extern;GS_RANGE_ATTR="";\
GS_ZONE_SCOPE=extern;GS_ZONE_ATTR="";\
}' -Up Base
# Use local version of autogsdoc in case it is not installed
AUTOGSDOC=../Tools/obj/autogsdoc
include $(GNUSTEP_MAKEFILES)/documentation.make
#
# Ensure that our destination subdirectory exists in the Documentation
# directory, and temporarily copy the base source file here for autogsdoc
# to use.
#
before-all::
$(MKDIRS) ../Documentation/Base
cp ../Documentation/Base.gsdoc .
#
# Clean up temporary files used while generating documentation.
#
after-all::
$(RM) Base.gsdoc
rmdir Base

View file

@ -253,7 +253,8 @@ win32-load.h \
NSCallBacks.h \
tzfile.h
AUTOGSDOC_HEADERS = \
FOUNDATION_HEADERS = \
Foundation.h \
GSMime.h \
GSXML.h \
NSArchiver.h \
@ -262,10 +263,12 @@ NSAttributedString.h \
NSAutoreleasePool.h \
NSBitmapCharSet.h \
NSBundle.h \
NSByteOrder.h \
NSCalendarDate.h \
NSCharacterSet.h \
NSClassDescription.h \
NSCoder.h \
NSConcreteNumber.h \
NSConnection.h \
NSData.h \
NSDate.h \
@ -296,6 +299,7 @@ NSNull.h \
NSNumberFormatter.h \
NSObjCRuntime.h \
NSObject.h \
NSPathUtilities.h \
NSPort.h \
NSPortCoder.h \
NSPortMessage.h \
@ -306,6 +310,7 @@ NSProxy.h \
NSRange.h \
NSRunLoop.h \
NSScanner.h \
NSSerialization.h \
NSSet.h \
NSString.h \
NSTask.h \
@ -316,17 +321,9 @@ NSURL.h \
NSURLHandle.h \
NSUndoManager.h \
NSUserDefaults.h \
NSValue.h \
NSZone.h
FOUNDATION_HEADERS = \
Foundation.h \
NSByteOrder.h \
NSConcreteNumber.h \
NSPathUtilities.h \
NSSerialization.h \
NSUtilities.h \
$(AUTOGSDOC_HEADERS) \
NSValue.h \
NSZone.h \
objc-load.h
@ -364,32 +361,10 @@ libgnustep-base_HEADER_FILES_INSTALL_DIR = /Foundation
libgnustep-base_HEADER_FILES = $(FOUNDATION_HEADERS)
DOCUMENT_NAME = Base
Base_HEADER_FILES_DIR = $(HEADER_DIR)
Base_AGSDOC_FILES = Base.gsdoc $(AUTOGSDOC_HEADERS)
Base_DOC_INSTALL_DIR = Developer
Base_AGSDOC_FLAGS = \
-HeaderDirectory ../Headers/Foundation \
-Declared Foundation \
-Standards YES \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
GS_EXPORT=extern;GS_DECLARE="";\
GS_RANGE_SCOPE=extern;GS_RANGE_ATTR="";\
GS_ZONE_SCOPE=extern;GS_ZONE_ATTR="";\
}' -Up Base
-include Makefile.preamble
-include GNUmakefile.local
include $(GNUSTEP_MAKEFILES)/library.make
# Only build the doc if doc=yes was passed on the command line
ifeq ($(doc),yes)
include $(GNUSTEP_MAKEFILES)/documentation.make
endif
-include Makefile.postamble