diff --git a/mk/suffix.mk b/mk/suffix.mk index 3793f73b1375223fb01e80d1632067dbffefe87a..79d6c7d6a248dbed9f917e318b29139ba520c901 100644 --- a/mk/suffix.mk +++ b/mk/suffix.mk @@ -30,19 +30,6 @@ endif #----------------------------------------------------------------------------- # Haskell Suffix Rules -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 $@ - -ifeq "$(SplitObjs)" "YES" -HC_PRE__ = $(HC_SPLIT_PRE) ; -HC_POST__ = $(HC_SPLIT_POST) ; -endif - -SRC_HC_POST_OPTS += $(HC_POST__) -SRC_HC_PRE_OPTS += $(HC_PRE__) - %.$(way_)o : %.hs $(HC_PRE_OPTS) $(HC) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) diff --git a/mk/target.mk b/mk/target.mk index b9db06cafa3b9cbec033c96aaffd4bd7d6de0a48..88140d0fb802816a5686dc8a03cf8999d87e9e59 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -450,12 +450,29 @@ endef ifneq "$(HS_SRCS)" "" ifeq "$(SplitObjs)" "YES" + define BUILD_LIB $(RM) $@ TMPDIR=$(TMPDIR); export TMPDIR; $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' -print | xargs ar q $@ $(RANLIB) $@ endef -endif # $(filter... + +# 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 $@ + +ifeq "$(SplitObjs)" "YES" +HC_PRE__ = $(HC_SPLIT_PRE) ; +HC_POST__ = $(HC_SPLIT_POST) ; +endif + +SRC_HC_POST_OPTS += $(HC_POST__) +SRC_HC_PRE_OPTS += $(HC_PRE__) + +endif # $(SplitObjs) endif #