X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Finstall.mk;h=1efb6958ef19e9d929d6f9197c131409679412c2;hp=de8866fe7bd6ec89485a0851cf0b322e318df46c;hb=74e1368d4688ee16f6decdf2cd3ebe27506b26ba;hpb=6d60ffad4fd9796c6821efb64037ae91d6e62a0d diff --git a/mk/install.mk b/mk/install.mk index de8866f..1efb695 100644 --- a/mk/install.mk +++ b/mk/install.mk @@ -111,7 +111,7 @@ endif # LINK # friends can be overridden from their original settings in mk/config.mk.in # || mk/build.mk # -.PHONY: install install-docs installdirs install-strip install-dirs install-docs show-install +.PHONY: install install-docs installdirs install-strip install-docs show-install show-install : @echo "DESTDIR = $(DESTDIR)" @@ -124,19 +124,6 @@ show-install : @echo "includedir = $(includedir)" # -# Sometimes useful to separate out the creation of install directories -# from the installation itself. -# -install-dirs :: - $(INSTALL_DIR) $(DESTDIR)$(bindir) - $(INSTALL_DIR) $(DESTDIR)$(libdir) - $(INSTALL_DIR) $(DESTDIR)$(libexecdir) - $(INSTALL_DIR) $(DESTDIR)$(datadir) - -# Better do this first... -install:: install-dirs - -# # Setting user/group ownership for the installed entities # ifneq "$(INSTALL_OWNER)" "" @@ -158,7 +145,12 @@ ifneq "$(strip $(INSTALL_PROGS))" "" # entry in the INSTALL_PROGS list. If there's no suffix, use # $(exeext). # -INSTALL_PROGS := $(foreach p, $(INSTALL_PROGS), $(addsuffix $(if $(suffix $(p)),,$(exeext)), $(basename $(p)))) +INSTALL_PROGS := $(foreach p, $(INSTALL_PROGS),\ + $(if $(filter $(exeext),$(suffix $p)),\ + $p,\ + $(addsuffix $(exeext),$p)\ + )\ + ) install:: $(INSTALL_PROGS) $(INSTALL_DIR) $(DESTDIR)$(bindir) @@ -278,27 +270,30 @@ install-docs:: $(INSTALL_DOCS) endif endif -# TODO: The following could be an entry for an Obfuscated Makefile Contest... ifneq "$(strip $(INSTALL_XML_DOC))" "" +ifeq "$(DOC_SUBDIR)" "" +DOC_SUBDIR=docs/$(XML_DOC) +endif + ifneq "$(XMLDocWays)" "" +# TODO: The following could be an entry for an Obfuscated Makefile Contest... install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.html,%/index.html,.$(i)))) - $(INSTALL_DIR) $(DESTDIR)$(datadir) - for i in $(XMLDocWays); do \ - if [ $$i = "html" ]; then \ - $(INSTALL_DIR) $(DESTDIR)$(datadir)/html; \ - $(INSTALL_DIR) $(DESTDIR)$(datadir)/html/$(INSTALL_XML_DOC); \ - echo "( cd $(INSTALL_XML_DOC) && $(CP) * $(DESTDIR)$(datadir)/html/$(INSTALL_XML_DOC) )" ; \ - ( cd $(INSTALL_XML_DOC) && $(CP) * $(DESTDIR)$(datadir)/html/$(INSTALL_XML_DOC) ) ; \ - else \ - $(INSTALL_DIR) $(DESTDIR)$(datadir)/doc; \ - echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(DESTDIR)$(datadir)/doc; \ - $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(DESTDIR)$(datadir)/doc; \ - fi; \ - if [ $$i = "html-no-chunks" ]; then \ - echo $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(datadir)/doc; \ - $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(datadir)/doc; \ - fi \ - done + +install-docs:: $(foreach i,$(XMLDocWays),install-docs-$i) + +install-docs-html: + $(INSTALL_DIR) $(DESTDIR)$(htmldir) + $(INSTALL_DIR) $(DESTDIR)$(htmldir)/$(INSTALL_XML_DOC) + $(CP) $(INSTALL_XML_DOC)/* $(DESTDIR)$(htmldir)/$(INSTALL_XML_DOC) + +install-docs-html-no-chunks: + $(INSTALL_DIR) $(DESTDIR)$(htmldir) + $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC).html $(DESTDIR)$(htmldir) + $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(htmldir) + +install-docs-%: + $(INSTALL_DIR) $(DESTDIR)$($*dir) + $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC).$* $(DESTDIR)$($*dir) endif endif