[project @ 2005-02-08 10:20:50 by simonmar]
[ghc-hetmet.git] / mk / target.mk
index 51b5d98..4ef96a4 100644 (file)
@@ -288,12 +288,14 @@ endif
 # whether HS_SRCS is empty or not.
 #
 
+# can't split objs in way 'u', so we disable it here
+ifeq "$(way)" "u"
+SplitObjs = NO
+endif
+
 ifneq "$(HS_SRCS)" ""
 ifeq "$(SplitObjs)" "YES"
 
-# can't split objs in way 'u', so we disable it here
-ifneq "$(way)" "u"
-
 SRC_HC_OPTS += -split-objs
 
 # We generate the archive into a temporary file libfoo.a.tmp, then
@@ -358,7 +360,6 @@ extraclean ::
        $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' -print | xargs $(RM) __rm_food
        -rmdir $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) > /dev/null 2>&1
 
-endif # $(way) == u
 endif # $(SplitObjs)
 endif # $(HS_SRCS)
 
@@ -726,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
 
@@ -769,6 +773,9 @@ 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; \