--- loncom/build/Makefile 2002/05/08 22:12:31 1.103 +++ loncom/build/Makefile 2002/05/13 08:28:33 1.108 @@ -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.108 2002/05/13 08:28:33 harris41 Exp $ DISTPROBE=`perl ./distprobe` DIST=$(DISTPROBE) @@ -12,6 +12,7 @@ DIRTARGET=loncapa NORESTORECONF="0" HOSTNAME="" LAUNCH=| perl +QUERYLAUNCH=> /tmp/loncapa_query.pl; perl /tmp/loncapa_query.pl OUTSTREAM=> SAVE=program.pl.$(TIMESTAMP) LAUNCHSAVE=$(OUTSTREAM) $(SAVE) @@ -19,10 +20,10 @@ METAMTARGET="" MTARGET="" VERSION=0.1 -help: +help: @echo "*** You need to specify a valid target ***" @echo "NOTE: You can specify options to your Makefile target." - @echo "(option) DIST can be redhat7.1, debian, redhat6.2, or default" + @echo "(option) DIST can be redhat7, debian, redhat6.2, or default" @echo "(option) CATEGORY can be runtime or development" @echo "(option) SOURCE is an absolute or relative directory path" @echo "(option) TARGET is an absolute or relative directory path" @@ -206,7 +207,7 @@ sanitycheck: updatequery: cat $(SOURCE)/doc/loncapafiles/updatequery.piml | \ - perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \ + perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH) | \ tee -a WARNINGS postinstall: @@ -404,6 +405,7 @@ TEST_html2ps: 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 +415,59 @@ tardist: 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 + # ---------------------------------- might as well include the 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 'touch loncom/build/WARNINGS' >> $(SOURCE)/UPDATE; + echo 'ln -s loncom/build/WARNINGS WARNINGS' >> $(SOURCE)/UPDATE; echo 'cd loncom/build; make build; make install' >> $(SOURCE)/UPDATE + echo 'make updatequery' >> $(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 + cd $(SOURCE); \ tar --no-recursion --numeric-owner --files-from MANIFEST_loncapa \ -h -czf loncapa.tar.gz 2>WARNINGS || [ "0" == "0" ] cat $(SOURCE)/WARNINGS | \ @@ -453,6 +479,8 @@ clean: rm -f $(SOURCE)/README rm -f $(SOURCE)/UPDATE rm -f $(SOURCE)/TEST + rm -f $(SOURCE)/MANIFEST + rm -f $(SOURCE)/loncapa rm -f $(SOURCE)/loncapa.tar.gz rm -Rf HTML rm -f installation_manual.pdf