[project @ 2001-09-28 23:36:50 by sof]
[ghc-hetmet.git] / Makefile
index c96a0c1..243ccf3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -268,8 +268,8 @@ dist ::
        -rm -f $(SRC_DIST_NAME).tar.gz
        mkdir $(SRC_DIST_DIR)
        mkdir $(SRC_DIST_DIR)/mk
-       ( cd $(FPTOOLS_TOP_ABS); $(FIND) $(SRC_DIST_DIRS) -type d \( -name CVS -prune -o -name SRC -prune -o -name tests -prune -o -exec mkdir $(SRC_DIST_DIR)/{} \; \) ; )
-       ( cd $(FPTOOLS_TOP_ABS); $(FIND) $(SRC_DIST_DIRS) $(SRC_DIST_FILES) -name CVS -prune -o -name SRC -prune -o -name tests -prune -o -name "*~" -prune -o -name ".cvsignore" -prune -o -name "\#*" -prune -o -name ".\#*" -prune -o -name "log" -prune -o -name "*-SAVE" -prune -o -name "*.orig" -prune -o -name "*.rej" -prune -o ! -type d -exec $(LN_S) $(FPTOOLS_TOP_ABS)/{} $(SRC_DIST_DIR)/{} \; )
+       ( cd $(FPTOOLS_TOP_ABS); $(FIND) $(SRC_DIST_DIRS) -type d \( -name CVS -prune -o -name SRC -prune -o -print \) | sed -e 's!.*!mkdir "$(SRC_DIST_DIR)/&"!' | sh )
+       ( cd $(FPTOOLS_TOP_ABS); $(FIND) $(SRC_DIST_DIRS) $(SRC_DIST_FILES) -name CVS -prune -o -name SRC -prune -o -name tests -prune -o -name "*~" -prune -o -name ".cvsignore" -prune -o -name "\#*" -prune -o -name ".\#*" -prune -o -name "log" -prune -o -name "*-SAVE" -prune -o -name "*.orig" -prune -o -name "*.rej" -prune -o ! -type d -print | sed -e 's!.*!$(LN_S) "$(FPTOOLS_TOP_ABS)/&" "$(SRC_DIST_DIR)/&"!' | sh )
 
 # Automatic generation of a MANIFEST file for a source distribution
 # tree that is ready to go.
@@ -288,6 +288,26 @@ dist-package-zip ::
               $(ZIP) $(ZIP_OPTS) -r $(SRC_DIST_NAME)-src.zip $(SRC_DIST_PATHS)
 
 # -----------------------------------------------------------------------------
+# HC file bundles
+
+hc-file-bundle : project-check
+       $(RM) -r $(ProjectNameShort)-$(ProjectVersion)
+       $(LN_S) . $(ProjectNameShort)-$(ProjectVersion)
+       find $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler \
+            $(ProjectNameShort)-$(ProjectVersion)/ghc/driver \
+            $(ProjectNameShort)-$(ProjectVersion)/ghc/lib \
+            $(ProjectNameShort)-$(ProjectVersion)/hslibs \
+         -name "*.hc" -o -name "*_hsc.[ch]" -o -name "*_stub.[ch]" > hc-files-to-go
+       find $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler \
+            $(ProjectNameShort)-$(ProjectVersion)/ghc/driver \
+            $(ProjectNameShort)-$(ProjectVersion)/ghc/lib \
+            $(ProjectNameShort)-$(ProjectVersion)/hslibs \
+         -name "*.hsc" | sed 's/hsc$$/hs/g' >> hc-files-to-go
+       tar czf $(ProjectNameShort)-$(ProjectVersion)-$(TARGETPLATFORM)-hc.tar.gz `cat hc-files-to-go`
+
+CLEAN_FILES += hc-files-to-go *-hc.tar.gz
+
+# -----------------------------------------------------------------------------
 
 DIST_CLEAN_FILES += config.cache config.status
 
@@ -313,7 +333,11 @@ install ::
              fi; \
        done
 
-NO_ALL_TARGETS=YES
+# Turn off target.mk's rules for 'all', 'boot' and 'install'.
+NO_BOOT_TARGET=YES
+NO_ALL_TARGET=YES
+NO_INSTALL_TARGET=YES
+
 include $(TOP)/mk/target.mk
 
 # -----------------------------------------------------------------------------