X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Ftarget.mk;h=a6793c985762748c656274f1edd74090985e0d77;hp=6749e29b25c2caeac6b09443275af076b2196067;hb=d19f868a2fbfb583e57d9c47b97c0cdb3a95ae57;hpb=4f457f34795745c1fad5847d1983887e7666a6b7 diff --git a/mk/target.mk b/mk/target.mk index 6749e29..a6793c9 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -19,7 +19,7 @@ # install-docs* # clean* distclean* mostlyclean* maintainer-clean* # tags* -# dvi ps (no info) FPTOOLS adds: pdf rtf html +# dvi ps (no info) FPTOOLS adds: pdf rtf html chm HxS # check # # 3. Some of the above targets have a version that @@ -178,7 +178,7 @@ endif # `TAGS' # Update a tags table for this program. # -# `dvi' `ps' `pdf' `html' `rtf' +# `dvi' `ps' `pdf' `html' `chm' `HxS' `rtf' # Generate DVI/PS/PDF files for LaTeX/DocBook docs. Not everything is # supported everywhere, but the intention is to standardise on DocBook # producing all formats. @@ -357,7 +357,7 @@ SRC_HC_POST_OPTS += $(HC_SPLIT_POST); # extraclean :: - $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' -print | xargs $(RM) __rm_food + $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' -print -o -name ld.script -print | xargs $(RM) __rm_food -rmdir $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) > /dev/null 2>&1 endif # $(SplitObjs) @@ -709,7 +709,7 @@ SRC_INSTALL_OPTS += -g $(INSTALL_GROUP) endif -ifneq "$(INSTALL_PROGS)" "" +ifneq "$(strip $(INSTALL_PROGS))" "" # # Here's an interesting one - when using the win32 version @@ -727,6 +727,9 @@ install:: $(INSTALL_PROGS) @for i in $(INSTALL_PROGS); do \ echo $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(bindir); \ $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(bindir) ; \ + if test "$(darwin_TARGET_OS)" = "1"; then \ + sh $(FPTOOLS_TOP)/mk/fix_install_names.sh $(libdir) $(bindir)/$$i ; \ + fi ; \ done endif @@ -734,7 +737,7 @@ endif # Just like INSTALL_PROGS, but prefix with install sites bin/lib/data and # install without stripping. # -ifneq "$(INSTALL_SCRIPTS)" "" +ifneq "$(strip $(INSTALL_SCRIPTS))" "" install:: $(INSTALL_SCRIPTS) @$(INSTALL_DIR) $(bindir) for i in $(INSTALL_SCRIPTS); do \ @@ -742,7 +745,7 @@ install:: $(INSTALL_SCRIPTS) done endif -ifneq "$(INSTALL_LIB_SCRIPTS)" "" +ifneq "$(strip $(INSTALL_LIB_SCRIPTS))" "" install:: $(INSTALL_LIB_SCRIPTS) @$(INSTALL_DIR) $(libdir) for i in $(INSTALL_LIB_SCRIPTS); do \ @@ -750,7 +753,7 @@ install:: $(INSTALL_LIB_SCRIPTS) done endif -ifneq "$(INSTALL_LIBEXEC_SCRIPTS)" "" +ifneq "$(strip $(INSTALL_LIBEXEC_SCRIPTS))" "" install:: $(INSTALL_LIBEXEC_SCRIPTS) @$(INSTALL_DIR) $(libexecdir) for i in $(INSTALL_LIBEXEC_SCRIPTS); do \ @@ -758,7 +761,7 @@ install:: $(INSTALL_LIBEXEC_SCRIPTS) done endif -ifneq "$(INSTALL_LIBS)" "" +ifneq "$(strip $(INSTALL_LIBS))" "" install:: $(INSTALL_LIBS) @$(INSTALL_DIR) $(libdir) for i in $(INSTALL_LIBS); do \ @@ -779,7 +782,7 @@ install:: $(INSTALL_LIBS) done endif -ifneq "$(INSTALL_LIBEXECS)" "" +ifneq "$(strip $(INSTALL_LIBEXECS))" "" # # See above comment next to defn of INSTALL_PROGS for what # the purpose of this one-liner is. @@ -790,10 +793,13 @@ install:: $(INSTALL_LIBEXECS) @$(INSTALL_DIR) $(libexecdir) -for i in $(INSTALL_LIBEXECS); do \ $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(libexecdir); \ + if test "$(darwin_TARGET_OS)" = "1"; then \ + sh $(FPTOOLS_TOP)/mk/fix_install_names.sh $(libdir) $(libexecdir)/`basename $$i` ; \ + fi ; \ done endif -ifneq "$(INSTALL_DATAS)" "" +ifneq "$(strip $(INSTALL_DATAS))" "" install:: $(INSTALL_DATAS) @$(INSTALL_DIR) $(datadir) for i in $(INSTALL_DATAS); do \ @@ -801,7 +807,7 @@ install:: $(INSTALL_DATAS) done endif -ifneq "$(INSTALL_IFACES)" "" +ifneq "$(strip $(INSTALL_IFACES))" "" install:: $(INSTALL_IFACES) @$(INSTALL_DIR) $(ifacedir) for i in $(INSTALL_IFACES); do \ @@ -809,7 +815,7 @@ install:: $(INSTALL_IFACES) done endif -ifneq "$(INSTALL_IFACES_WITH_DIRS)" "" +ifneq "$(strip $(INSTALL_IFACES_WITH_DIRS))" "" install:: $(INSTALL_IFACES_WITH_DIRS) @$(INSTALL_DIR) $(ifacedir) for i in $(INSTALL_IFACES_WITH_DIRS); do \ @@ -817,7 +823,7 @@ install:: $(INSTALL_IFACES_WITH_DIRS) done endif -ifneq "$(INSTALL_INCLUDES)" "" +ifneq "$(strip $(INSTALL_INCLUDES))" "" install:: $(INSTALL_INCLUDES) @$(INSTALL_DIR) $(includedir) for i in $(INSTALL_INCLUDES); do \ @@ -825,7 +831,7 @@ install:: $(INSTALL_INCLUDES) done endif -ifneq "$(INSTALL_DOCS)" "" +ifneq "$(strip $(INSTALL_DOCS))" "" ifneq "$(XMLDocWays)" "" install-docs:: $(INSTALL_DOCS) @$(INSTALL_DIR) $(datadir) @@ -836,9 +842,9 @@ endif endif # TODO: The following could be an entry for an Obfuscated Makefile Contest... -ifneq "$(INSTALL_XML_DOC)" "" +ifneq "$(strip $(INSTALL_XML_DOC))" "" ifneq "$(XMLDocWays)" "" -install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.htmlhelp,%.chm,$(patsubst %.html,%/index.html,.$(i))))) +install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.html,%/index.html,.$(i)))) @$(INSTALL_DIR) $(datadir) @for i in $(XMLDocWays); do \ if [ $$i = "html" ]; then \ @@ -847,12 +853,13 @@ install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no- echo "( cd $(INSTALL_XML_DOC) && $(CP) * $(datadir)/html/$(INSTALL_XML_DOC) )" ; \ ( cd $(INSTALL_XML_DOC) && $(CP) * $(datadir)/html/$(INSTALL_XML_DOC) ) ; \ 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); \ + $(INSTALL_DIR) $(datadir)/doc; \ + echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(datadir)/doc; \ + $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(datadir)/doc; \ fi; \ if [ $$i = "html-no-chunks" ]; then \ - echo $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \ - $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \ + echo $(CP) $(FPTOOLS_CSS_ABS) $(datadir)/doc; \ + $(CP) $(FPTOOLS_CSS_ABS) $(datadir)/doc; \ fi \ done endif @@ -945,7 +952,7 @@ show: # ################################################################################ -.PHONY: html html-no-chunks htmlhelp fo dvi ps pdf +.PHONY: html html-no-chunks chm HxS fo dvi ps pdf ifneq "$(XML_DOC)" "" @@ -960,7 +967,8 @@ endif XML_HTML = $(addsuffix /index.html,$(basename $(XML_DOC))) XML_HTML_NO_CHUNKS = $(addsuffix .html,$(XML_DOC)) -XML_HTMLHELP = $(addsuffix -htmlhelp/index.html,$(basename $(XML_DOC))) +XML_CHM = $(addsuffix .chm,$(XML_DOC)) +XML_HxS = $(addsuffix .HxS,$(XML_DOC)) XML_FO = $(addsuffix .fo,$(XML_DOC)) XML_DVI = $(addsuffix .dvi,$(XML_DOC)) XML_PS = $(addsuffix .ps,$(XML_DOC)) @@ -970,7 +978,8 @@ $(XML_HTML) $(XML_NO_CHUNKS_HTML) $(XML_FO) $(XML_DVI) $(XML_PS) $(XML_PDF) :: $ html :: $(XML_HTML) html-no-chunks :: $(XML_HTML_NO_CHUNKS) -htmlhelp :: $(XML_HTMLHELP) +chm :: $(XML_CHM) +HxS :: $(XML_HxS) fo :: $(XML_FO) dvi :: $(XML_DVI) ps :: $(XML_PS) @@ -1028,6 +1037,11 @@ maintainer-clean:: extraclean # Expects: $(WAYS) the possible "way" strings to one of # which $(way) will be set +ifneq "$(way)" "" +ifeq "$(findstring $(way), $(WAYS))" "" +$(error Unknown way $(way)) +endif +endif # So how does $(way) ever get set to anything? Answer, we recursively # invoke make, setting $(way) on the command line. @@ -1157,7 +1171,7 @@ endif # the --no-print-directory flag which is passed to recursive # invocations of make. # -#ifeq "$(way)" "" +ifeq "$(way)" "" ifneq "$(SUBDIRS)" "" # we override the 'boot', 'all' and 'install' targets in the top @@ -1183,7 +1197,7 @@ INSTALL_TARGET = install INSTALL_DOCS_TARGET = install-docs endif -$(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean maintainer-clean $(INSTALL_TARGET) $(INSTALL_DOCS_TARGET) html ps dvi txt:: +$(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean maintainer-clean $(INSTALL_TARGET) $(INSTALL_DOCS_TARGET) html chm HxS ps dvi txt:: @echo "------------------------------------------------------------------------" @echo "===fptools== Recursively making \`$@' in $(SUBDIRS) ..." @echo "PWD = $(shell pwd)" @@ -1204,7 +1218,7 @@ $(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean main @echo "------------------------------------------------------------------------" endif -#endif +endif # # Selectively building subdirectories.