From 9ededbc805d53f9a7a41ffe872cd2b0f81687a8a Mon Sep 17 00:00:00 2001
From: sof <unknown>
Date: Wed, 15 Apr 1998 17:39:23 +0000
Subject: [PATCH] [project @ 1998-04-15 17:39:23 by sof] - Moved `dist' rule
 that sets up SRC_DIST_FILES symlinks past   the recursive `dist' rule that
 creates the shadow dist tree. - Experimental support for aliases in
 SRC_DIST_FILES lists, i.e.,   foo~bar will create a symlink from `bar' in the
 dist tree to   `foo' in the build tree (useful for the cases where you're  
 shipping Makefiles that differ from the fptools/ ones.) - New target
 `dist-manifest': create MANIFEST files for a   (source) distribution.

---
 mk/target.mk | 50 +++++++++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 21 deletions(-)

diff --git a/mk/target.mk b/mk/target.mk
index d4303c711301..a89f1b06ccbc 100644
--- a/mk/target.mk
+++ b/mk/target.mk
@@ -703,31 +703,15 @@ dist-post::
 	( cd $(SRC_DIST_DIR) ; cd .. ; find $(SRC_DIST_NAME) -type d -exec sh -c 'test x`ls $$0 | wc -l | sed -e "s/ //g"` = x0' {} \; -print -exec rm -rf {} \; -prune )
 	( cd $(SRC_DIST_DIR) ; cd .. ; chmod -R a+rw $(SRC_DIST_NAME) ) 
 
+# Automatic generation of a MANIFEST file for a source distribution
+# tree that is ready to go.
+dist-manifest ::
+	cd $(SRC_DIST_DIR); find . \( -type l -o -type f \) -exec ls -lLG {} \; | sed -e 's/\.\///' > /tmp/MANIFEST ; mv /tmp/MANIFEST MANIFEST
+
 dist-package::
 	cd $(SRC_DIST_DIR); cd ..; $(TAR) chzf $(SRC_DIST_NAME).tar.gz $(SRC_DIST_NAME)
 
 #
-
-
-# The default dist rule:
-#
-# copy/link the contents of $(SRC_DIST_FILES) into the
-# shadow distribution tree. SRC_DIST_FILES contain the
-# build-generated files that you want to include in
-# a source distribution.
-#
-#
-ifneq "$(SRC_DIST_FILES)" ""
-dist::
-	@for i in $(SRC_DIST_FILES); do 		 \
-	  if (test -f "$$i"); then 			 \
-	    echo $(LN_S) `pwd`/$$i $(SRC_DIST_DIR)/$$i ; \
-	    $(LN_S) `pwd`/$$i $(SRC_DIST_DIR)/$$i ;	 \
-	  fi;						 \
-	done;
-endif
-
-#
 # binary-dist creates a binary bundle, set BIN_DIST_NAME
 # to package name and do `make binary-dist' (normally this
 # just a thing you would do from the toplevel of fptools or)
@@ -1054,6 +1038,30 @@ dist ::
 endif
 endif
 
+# The default dist rule:
+#
+# copy/link the contents of $(SRC_DIST_FILES) into the
+# shadow distribution tree. SRC_DIST_FILES contain the
+# build-generated files that you want to include in
+# a source distribution.
+#
+#
+ifneq "$(SRC_DIST_FILES)" ""
+dist::
+	@for i in $(SRC_DIST_FILES); do 		 \
+	  if ( echo "$$i" | grep "~" >/dev/null 2>&1 ); then	 \
+	    echo $(LN_S) `pwd`/`echo $$i | sed -e "s/^\([^~]*\)~.*/\1/g"` $(SRC_DIST_DIR)/`echo $$i | sed -e "s/.*~\(.*\)/\1/g"` ; \
+	    $(LN_S) `pwd`/`echo $$i | sed -e "s/^\([^~]*\)~.*/\1/g"` $(SRC_DIST_DIR)/`echo $$i | sed -e "s/.*~\(.*\)/\1/g"` ; \
+	  else \
+	    if (test -f "$$i"); then 			   \
+	      echo $(LN_S) `pwd`/$$i $(SRC_DIST_DIR)/$$i ; \
+	      $(LN_S) `pwd`/$$i $(SRC_DIST_DIR)/$$i ;	   \
+	     fi;					   \
+	  fi; \
+	done;
+endif
+
+
 #
 # Selectively building subdirectories.
 #
-- 
GitLab