Move the HC_PRE & HC_POST stuff into target.mk, so we can override
SplitObjs in the Makefile properly.
#-----------------------------------------------------------------------------
# Haskell Suffix Rules
#-----------------------------------------------------------------------------
# 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 $@))
%.$(way_)o : %.hs
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@))
ifneq "$(HS_SRCS)" ""
ifeq "$(SplitObjs)" "YES"
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
define BUILD_LIB
$(RM) $@
TMPDIR=$(TMPDIR); export TMPDIR; $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' -print | 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 $@
+
+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)