all :: $(HS_PROG)
ifneq "$(BootingFromHc)" "YES"
-$(HS_PROG) :: $(HS_OBJS) $(C_OBJS)
- $(HC) -o $@ $(HC_OPTS) $(LD_OPTS) $(HS_OBJS) $(C_OBJS)
+$(HS_PROG) :: $(OBJS)
+ $(HC) -o $@ $(HC_OPTS) $(LD_OPTS) $(OBJS)
else
# see bootstrap.mk
$(HS_PROG) :: $(OBJS)
$(RM) $@; if [ ! -d $(basename $@)_split ]; then mkdir $(basename $@)_split; else \
$(FIND) $(basename $@)_split -name '*.$(way_)o' -print | xargs $(RM) __rm_food; fi
ifeq "$(GhcWithInterpreter)" "YES"
-HC_SPLIT_POST = (cd $(dir $@) && $(LD) -r $(LD_X) -o $(notdir $@) $(basename $(notdir $@))_split/*.$(way_)o)
+HC_SPLIT_POST = (cd $(basename $@)_split && $(LD) -r $(LD_X) -o ../$(notdir $@) *.$(way_)o)
else
HC_SPLIT_POST = touch $@
endif # GhcWithInterpreter == YES
# within the various install targets instead.
#install:: install-dirs
+#
+# Setting user/group ownership for the installed entities
+#
+ifneq "$(INSTALL_OWNER)" ""
+SRC_INSTALL_OPTS += -o $(INSTALL_OWNER)
+endif
+ifneq "$(INSTALL_GROUP)" ""
+SRC_INSTALL_OPTS += -g $(INSTALL_GROUP)
+endif
+
+
ifneq "$(INSTALL_PROGS)" ""
#
endif
ifneq "$(INSTALL_DOCS)" ""
+ifneq "$(SGMLDocWays)" ""
+install-docs:: $(INSTALL_DOCS)
+ @$(INSTALL_DIR) $(datadir)
+ for i in $(INSTALL_DOCS); do \
+ $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir); \
+ done
+endif
+ifneq "$(XMLDocWays)" ""
install-docs:: $(INSTALL_DOCS)
@$(INSTALL_DIR) $(datadir)
for i in $(INSTALL_DOCS); do \
$(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir); \
done
endif
+endif
+
+# TODO: The following could be an entry for an Obfuscated Makefile Contest...
+ifneq "$(INSTALL_XML_DOC)" ""
+ifneq "$(XMLDocWays)" ""
+install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.htmlhelp,%.chm,$(patsubst %.html,%-html/index.html,.$(i)))))
+ @$(INSTALL_DIR) $(datadir)
+ @for i in $(XMLDocWays); do \
+ if [ $$i = "html" ]; then \
+ $(INSTALL_DIR) $(datadir)/html; \
+ echo "( cd $(INSTALL_XML_DOC)-html && $(CP) * $(datadir)/html )" ; \
+ ( cd $(INSTALL_XML_DOC)-html && $(CP) * $(datadir)/html ) ; \
+ else \
+ echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.htmlhelp/.chm/ | sed s/\.html-no-chunks/.html/` $(datadir); \
+ $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.htmlhelp/.chm/ | sed s/\.html-no-chunks/.html/` $(datadir); \
+ fi; \
+ if [ $$i = "html-no-chunks" ]; then \
+ echo $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \
+ $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \
+ fi \
+ done
+endif
+endif
ifneq "$(INSTALL_SGML_DOC)" ""
ifneq "$(SGMLDocWays)" ""
$(RM) -rf $(SGML_DOC)
endif
+################################################################################
+#
+# DocBook XML Documentation
+#
+################################################################################
+
+.PHONY: html html-no-chunks htmlhelp fo dvi ps pdf
+
+ifneq "$(XML_DOC)" ""
+
+all :: $(XMLDocWays)
+
+# multi-file XML document: main document name is specified in $(XML_DOC),
+# sub-documents (.xml files) listed in $(XML_SRCS).
+
+ifeq "$(XML_SRCS)" ""
+XML_SRCS = $(wildcard *.xml)
+endif
+
+XML_HTML = $(addsuffix -html/index.html,$(basename $(XML_DOC)))
+XML_HTML_NO_CHUNKS = $(addsuffix .html,$(XML_DOC))
+XML_HTMLHELP = $(addsuffix -htmlhelp/index.html,$(basename $(XML_DOC)))
+XML_FO = $(addsuffix .fo,$(XML_DOC))
+XML_DVI = $(addsuffix .dvi,$(XML_DOC))
+XML_PS = $(addsuffix .ps,$(XML_DOC))
+XML_PDF = $(addsuffix .pdf,$(XML_DOC))
+
+$(XML_HTML) $(XML_NO_CHUNKS_HTML) $(XML_FO) $(XML_DVI) $(XML_PS) $(XML_PDF) :: $(XML_SRCS)
+
+html :: $(XML_HTML)
+html-no-chunks :: $(XML_HTML_NO_CHUNKS)
+htmlhelp :: $(XML_HTMLHELP)
+fo :: $(XML_FO)
+dvi :: $(XML_DVI)
+ps :: $(XML_PS)
+pdf :: $(XML_PDF)
+
+CLEAN_FILES += $(XML_HTML_NO_CHUNKS) $(XML_FO) $(XML_DVI) $(XML_PS) $(XML_PDF)
+
+extraclean ::
+ $(RM) -rf $(XML_DOC).out $(FPTOOLS_CSS) $(basename $(XML_DOC))-html $(basename $(XML_DOC))-htmlhelp
+
+validate ::
+ $(XMLLINT) --valid --noout $(XMLLINT_OPTS) $(XML_DOC).xml
+endif
+
##############################################################################
#
# Targets: clean