X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=4ef96a45e0fb13c6ecb9faaaed31808f379761e8;hb=dae341f50ad832bbc6b0edb1fc460248380ed68e;hp=62d3355770b5006a2a030c04af967c172a6dd6d0;hpb=f13895fc3b7a38c909ee0d2d7c1de24381858024;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 62d3355..4ef96a4 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -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) @@ -369,7 +370,7 @@ endif # $(HS_SRCS) ifeq "$(StripLibraries)" "YES" ifeq "$(SplitObjs)" "YES" SRC_HC_POST_OPTS += \ - for i in $(basename $@)_split/*; do \ + for i in $(basename $@)_split/*.$(way_)o; do \ $(LD) -r $(LD_X) -o $$i.tmp $$i; \ $(MV) $$i.tmp $$i; \ done @@ -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; \