X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=73ef01fca63acae79227ca45da703dec0afeab83;hb=c883f6969ad957637649f3af1a2b6977555bdd32;hp=8aac7d30c54a5cfc921ceee39fd1da6ea41ece91;hpb=baf4a0612e370ebe0f397c27024feb8ced23e08a;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 8aac7d3..73ef01f 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -318,6 +318,7 @@ $(AR) $(AR_OPTS) $@ $(ArSupportsInput) $@.list $(RM) $@.list $(RANLIB) $@ endef +endif # Extra stuff for compiling Haskell files with $(SplitObjs): @@ -356,10 +357,9 @@ 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 # $(way) == u endif # $(SplitObjs) endif # $(HS_SRCS) @@ -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 \ @@ -770,13 +773,16 @@ install:: $(INSTALL_LIBS) $(INSTALL_DATA) -s $(INSTALL_OPTS) $$i $(libdir) ;; \ *.so) \ $(INSTALL_SHLIB) $(INSTALL_OPTS) $$i $(libdir) ;; \ + *.dylib) \ + $(INSTALL_SHLIB) $(INSTALL_OPTS) $$i $(libdir); \ + install_name_tool -id $(libdir)/`basename $$i` $(libdir)/`basename $$i` ;; \ *) \ $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \ esac; \ 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. @@ -787,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 \ @@ -798,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 \ @@ -806,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 \ @@ -814,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 \ @@ -822,7 +831,7 @@ install:: $(INSTALL_INCLUDES) done endif -ifneq "$(INSTALL_DOCS)" "" +ifneq "$(strip $(INSTALL_DOCS))" "" ifneq "$(XMLDocWays)" "" install-docs:: $(INSTALL_DOCS) @$(INSTALL_DIR) $(datadir) @@ -833,7 +842,7 @@ 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_DIR) $(datadir)