X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=2aaf39a25723aa24fbd9349e8dd88c258b8898aa;hb=f48e65910d14147a478070d50f78aa84e65285d2;hp=6384a55a783a760122a93948e916a3c71f690d1d;hpb=14ca0c8202392ad6ce2c7e6456e29c559254afd4;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 6384a55..2aaf39a 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -359,19 +359,23 @@ SRC_HC_OPTS += -split-objs define BUILD_LIB $(RM) $@ -( echo $(STUBOBJS) ; $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' -print ) | xargs ar q $@ +(echo $(STUBOBJS); $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o') | xargs ar q $@ $(RANLIB) $@ endef # Extra stuff for compiling Haskell files with $(SplitObjs): -HC_SPLIT_PRE= \ - $(RM) $@ ; if [ ! -d $(basename $@) ]; then mkdir $(basename $@); else \ - $(FIND) $(basename $@) -name '*.$(way_)o' -print | xargs $(RM) __rm_food ; fi -HC_SPLIT_POST = touch $@ +HC_SPLIT_PRE = \ + $(RM) $@; if [ ! -d $(basename $@) ]; then mkdir $(basename $@); else \ + $(FIND) $(basename $@) -name '*.$(way_)o' | xargs $(RM) __rm_food; fi +ifeq "$(GhcWithInterpreter)" "YES" +HC_SPLIT_POST = ld -r -x -o $@ $(basename $@)/*.$(way_)o +else +HC_SPLIT_POST = touch $@ +endif -SRC_HC_PRE_OPTS += $(HC_SPLIT_PRE) ; -SRC_HC_POST_OPTS += $(HC_SPLIT_POST) ; +SRC_HC_PRE_OPTS += $(HC_SPLIT_PRE); +SRC_HC_POST_OPTS += $(HC_SPLIT_POST); # # If (Haskell) object files are split, cleaning up @@ -422,13 +426,6 @@ GHCI_LIBOBJS = $(LIBOBJS) endif $(GHCI_LIBRARY) :: $(GHCI_LIBOBJS) -ifneq "$(HS_SRCS)" "" -ifeq "$(SplitObjs)" "YES" - $(foreach obj,$(GHCI_LIBOBJS), \ - ld -r -x -o $(obj) \ - $(patsubst %.$(way_)o,%,$(obj))/*.$(way_)o &&) true -endif -endif ld -r -x -o $@ $(GHCI_LIBOBJS) $(STUBOBJS) CLEAN_FILES += $(GHCI_LIBRARY)