(re)written autogsdoc rules

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@11984 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2002-01-04 17:41:59 +00:00
parent df27cb310c
commit af6328198d
2 changed files with 48 additions and 10 deletions

View file

@ -1,3 +1,7 @@
Fri Jan 4 15:37:19 2002 Nicola Pero <n.pero@mi.flashnet.it>
* documentation.make: autogsdoc rules - rewritten.
Fri Jan 4 08:09:26 2002 Nicola Pero <n.pero@mi.flashnet.it>
* target.make (SHARED_LIBEXT): For HP-UX IA64, use .so rather than

View file

@ -186,24 +186,55 @@ endif # GSDOC_FILES
#
ifneq ($(AGSDOC_FILES),)
ifeq ($(GNUSTEP_BASE_HAVE_LIBXML), 1)
INTERNAL_AGSDOCFLAGS = $(AGSDOC_FLAGS)
INTERNAL_AGSDOCFLAGS += -IgnoreDependencies YES
INTERNAL_AGSDOCFLAGS += -Project $(INTERNAL_doc_NAME)
INTERNAL_AGSDOCFLAGS += -DocumentationDirectory $(INTERNAL_doc_NAME)
# The autogsdoc program has built-in dependency handling, so we can
# simply run it and it will work out what needs to be rebuilt.
internal-doc-all:: before-$(TARGET)-all \
generate-autogsdoc \
after-$(TARGET)-all
INTERNAL_AGSLINKFLAGS = $(AGSLINK_FLAGS)
INTERNAL_AGSLINKFLAGS += -Project $(INTERNAL_doc_NAME)
INTERNAL_AGSLINKFLAGS += -DocumentationDirectory $(GNUSTEP_DOCUMENTATION)/$(DOC_INSTALL_DIR)/$(INTERNAL_doc_NAME)
AGSDOC_OBJS = $(patsubst %.gsdoc,%.html,\
$(patsubst %.h,%.html,\
$(patsubst %.m,%.html,$(AGSDOC_FILES))))
AGSDOC_HTML_FILES = $(addprefix $(INTERNAL_doc_NAME)/,$(AGSDOC_OBJS))
AGSDOC_GSDOC_FILES = $(patsubst %.html,%.gsdoc,$(AGSDOC_HTML_FILES))
.PRECIOUS: $(INTERNAL_doc_NAME)/%.gsdoc
$(INTERNAL_doc_NAME):
$(MKDIRS) $@
# If autogsdoc is not present, the '-' at the start of the next command
# lets the makefile system simply continue without generating any
# documentation from headers etc.
generate-autogsdoc: $(INTERNAL_doc_NAME)
-autogsdoc $(INTERNAL_AGSDOCFLAGS) $(AGSDOC_FILES)
$(INTERNAL_doc_NAME)/%.gsdoc: %.gsdoc
cp $< $@
$(INTERNAL_doc_NAME)/%.gsdoc: %.h
autogsdoc $(INTERNAL_AGSDOCFLAGS) -GenerateHtml NO $<
$(INTERNAL_doc_NAME)/%.gsdoc: $($(INTERNAL_doc_NAME)_HEADER_FILES_DIR)/%.h
autogsdoc $(INTERNAL_AGSDOCFLAGS) -GenerateHtml NO $<
$(INTERNAL_doc_NAME)/%.gsdoc: %.m
autogsdoc $(INTERNAL_AGSDOCFLAGS) -GenerateHtml NO $<
$(INTERNAL_doc_NAME)/%.html: $(INTERNAL_doc_NAME)/%.gsdoc
autogsdoc $(INTERNAL_AGSDOCFLAGS) -GenerateHtml YES $<
internal-doc-all:: before-$(TARGET)-all \
$(AGSDOC_HTML_FILES) \
after-$(TARGET)-all
before-$(TARGET)-all:: $(INTERNAL_doc_NAME)
else
internal-doc-all::
@echo "No libxml - processing of autogsdoc files skipped"
endif # GNUSTEP_BASE_HAVE_LIBXML
endif # AGSDOC_FILES
@ -351,6 +382,9 @@ internal-doc-install::
rm -rf $(GNUSTEP_DOCUMENTATION)/$(DOC_INSTALL_DIR)/$(INTERNAL_doc_NAME)
$(TAR) cf - $(INTERNAL_doc_NAME) | \
(cd $(GNUSTEP_DOCUMENTATION)/$(DOC_INSTALL_DIR); $(TAR) xf -)
ifeq ($(GNUSTEP_BASE_HAVE_LIBXML),1)
autogsdoc $(INTERNAL_AGSLINKFLAGS) $(notdir $(AGSDOC_HTML_FILES))
endif
ifneq ($(CHOWN_TO),)
$(CHOWN) -R $(CHOWN_TO) \
$(GNUSTEP_DOCUMENTATION)/$(DOC_INSTALL_DIR)/$(INTERNAL_doc_NAME)