[project @ 2000-04-17 11:39:56 by simonmar]
[ghc-hetmet.git] / mk / target.mk
index 93f131c..88140d0 100644 (file)
@@ -449,13 +449,30 @@ endef
 #
 
 ifneq "$(HS_SRCS)" ""
-ifneq "$(filter -split-objs,$(HC_OPTS))" ""
+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
 
 #
@@ -463,7 +480,7 @@ endif
 #
 
 ifeq "$(StripLibraries)" "YES"
-ifneq "$(filter -split-objs,$(HC_OPTS))" ""
+ifeq "$(SplitObjs)" "YES"
 SRC_HC_POST_OPTS += \
   for i in $(basename $@)/*; do \
        ld -r -x -o $$i.tmp $$i; \
@@ -495,8 +512,7 @@ DLL_IMPLIB_NAME = $(patsubst %.a, %_imp.a, $(LIBRARY))
 endif
 
 $(DLL_NAME) :: $(LIBRARY)
-       $(BLD_DLL) --output-lib $(DLL_IMPLIB_NAME) -o $(DLL_NAME) $(LIBRARY) $(BLD_DLL_OPTS) 
-       touch dLL_ifs.hi
+       $(BLD_DLL) --output-lib $(DLL_IMPLIB_NAME) -o $(DLL_NAME) $(LIBRARY) $(BLD_DLL_OPTS)
 endif
 
 #
@@ -807,6 +823,14 @@ install:: $(INSTALL_DATAS)
        done
 endif
 
+ifneq "$(INSTALL_INCLUDES)" ""
+install:: $(INSTALL_INCLUDES)
+       @$(INSTALL_DIR) $(includedir)
+       for i in $(INSTALL_INCLUDES); do \
+               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(includedir); \
+       done
+endif
+
 #
 # Use with care..
 #