[LON-CAPA-cvs] cvs: loncom /build Makefile

harris41 lon-capa-cvs@mail.lon-capa.org
Thu, 09 May 2002 02:14:37 -0000


harris41		Wed May  8 22:14:37 2002 EDT

  Modified files:              
    /loncom/build	Makefile 
  Log:
  improving look of the tardist target
  
  
Index: loncom/build/Makefile
diff -u loncom/build/Makefile:1.103 loncom/build/Makefile:1.104
--- loncom/build/Makefile:1.103	Wed May  8 18:12:31 2002
+++ loncom/build/Makefile	Wed May  8 22:14:37 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 
 # Scott Harrison
-# $Id: Makefile,v 1.103 2002/05/08 22:12:31 harris41 Exp $
+# $Id: Makefile,v 1.104 2002/05/09 02:14:37 harris41 Exp $
 
 DISTPROBE=`perl ./distprobe`
 DIST=$(DISTPROBE)
@@ -404,6 +404,7 @@
 	fi
 
 tardist:
+	# ----------- MANIFEST the building, testing and standard loncapa files
 	cat $(SOURCE)/doc/loncapafiles/buildfiles.lpml | \
 	perl lpml_parse.pl MANIFEST development default \
 	'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' > $(SOURCE)/MANIFEST
@@ -413,35 +414,54 @@
 	cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
 	perl lpml_parse.pl MANIFEST development default \
 	'$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST
+	# ------ CVS/Entries directories to retain 'time-checking' intelligence
 	cd $(SOURCE); find . -type f -name 'Entries' | grep 'CVS/Entries' >> \
 	MANIFEST
+	# ---- Files for top-level (the vanilla layer that the user first sees)
 	echo 'README' >> $(SOURCE)/MANIFEST
 	echo 'UPDATE' >> $(SOURCE)/MANIFEST
 	echo 'TEST' >> $(SOURCE)/MANIFEST
 	echo 'CHECKRPMS' >> $(SOURCE)/MANIFEST
 	echo 'MANIFEST' >> $(SOURCE)/MANIFEST
+	# ------------------------------------------ hosts.tab are belong to us
 	echo 'loncom/rawhide_hosts.tab' >> $(SOURCE)/MANIFEST
 	echo 'loncom/production_hosts.tab' >> $(SOURCE)/MANIFEST
 	echo 'loncom/development_hosts.tab' >> $(SOURCE)/MANIFEST
+	# ------------------ Files needed for dynamically generated directories
 	echo 'doc/man' >> $(SOURCE)/MANIFEST
 	echo 'doc/lib' >> $(SOURCE)/MANIFEST
 	echo 'doc/lib/perl' >> $(SOURCE)/MANIFEST
 	echo 'doc/lib/perl/Apache' >> $(SOURCE)/MANIFEST
 	echo 'doc/scripts' >> $(SOURCE)/MANIFEST
+	# --------------------------- Point UPDATE to the internal make process
 	echo '#!/bin/sh' > $(SOURCE)/UPDATE
 	echo 'cd loncom/build; make build; make install' >> $(SOURCE)/UPDATE
+	# ----------------------------- Point TEST to the internal make process
 	echo '#!/bin/sh' > $(SOURCE)/TEST
 	echo 'cd loncom/build; make test' >> $(SOURCE)/TEST
+	# ----------------------------- Copy CHECKRPMS to the vanilla top-level
 	cp $(SOURCE)/loncom/build/CHECKRPMS $(SOURCE)/CHECKRPMS
+	# ----------------------- vanilla executables must indeed be executable
 	chmod a+rx $(SOURCE)/UPDATE
 	chmod a+rx $(SOURCE)/TEST
 	chmod a+rx $(SOURCE)/CHECKRPMS
+	# -------------------------------- Copy README to the vanilla top-level
 	cp $(SOURCE)/doc/shortest_path_redhat7.2.txt $(SOURCE)/README
+	# --------------------------------------------------- Clean up MANIFEST
 	cd $(SOURCE); \
 	sort MANIFEST | perl -nle 'print "$(DIRTARGET)/$$_"' | \
-	perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;s/\w+\/\.\.\///g;s/\w+\/\.\.\///g;s/\w+\/\.\.\///g;s/\/\.\//\//g;print' | sort | uniq > \
-	MANIFEST_loncapa; \
-	ln -s . $(DIRTARGET); \
+	perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;print' | \
+	perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;print' | \
+	perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;print' | \
+	perl -nle 's/\/\.\//\//g;print' | sort | uniq > \
+	MANIFEST_loncapa
+	# -------------------------------------------------------- Make tardist
+	@cd $(SOURCE); \
+	if (test -h $(DIRTARGET)); then \
+		echo "$(DIRTARGET) link already defined; assume okay"; \
+	else \
+		ln -s . $(DIRTARGET); \
+	fi
 	tar --no-recursion --numeric-owner --files-from MANIFEST_loncapa \
 	-h -czf loncapa.tar.gz 2>WARNINGS || [ "0" == "0" ]
 	cat $(SOURCE)/WARNINGS | \