--- loncom/build/Makefile 2002/05/08 20:23:36 1.101 +++ loncom/build/Makefile 2002/05/09 04:58:03 1.105 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Scott Harrison -# $Id: Makefile,v 1.101 2002/05/08 20:23:36 harris41 Exp $ +# $Id: Makefile,v 1.105 2002/05/09 04:58:03 harris41 Exp $ DISTPROBE=`perl ./distprobe` DIST=$(DISTPROBE) @@ -19,10 +19,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" @@ -403,49 +403,8 @@ TEST_html2ps: exit 1; \ fi -documentation_tree: cvsreport - install -d docs - install $(SOURCE)/doc/build/cvsreport.html docs/cvsreport.html - install $(SOURCE)/doc/build/doc.html docs/index.html - install -d docs/hardware - install $(SOURCE)/doc/hardware/hardware.html \ - docs/hardware/hardware.html - install -d docs/3.1 - install $(SOURCE)/doc/build/install.html docs/3.1/index.html - install $(SOURCE)/doc/build/instructions_with_cd.html \ - docs/3.1/instructions_with_cd.html - install $(SOURCE)/doc/build/libraryserverconfiguration.gif \ - docs/3.1/libraryserverconfiguration.gif - install $(SOURCE)/doc/build/librarysystemsettings.gif \ - docs/3.1/librarysystemsettings.gif - install -d docs/cvsupgrade - install $(SOURCE)/doc/build/cvsupgrade.html docs/cvsupgrade/index.html - install -d docs/upgrade - install $(SOURCE)/doc/build/upgrade.html docs/upgrade/index.html - install -d docs/reconfig - install $(SOURCE)/doc/build/reconfig.html docs/reconfig/index.html - install -d docs/3.1/otherfiles - install $(SOURCE)/doc/otherfiles/rpm_list.txt \ - docs/3.1/otherfiles/rpm_list.txt - install $(SOURCE)/doc/build/loncapanetwork.html \ - docs/loncapanetwork.html - install $(SOURCE)/doc/build/loncapanfs.html docs/loncapanfs.html - install $(SOURCE)/doc/build/loncapaappleshares.html \ - docs/loncapaappleshares.html - install $(SOURCE)/doc/build/loncapasqldatabase.html \ - docs/loncapasqldatabase.html - install $(SOURCE)/doc/build/loncapapasswords.html \ - docs/loncapapasswords.html - install $(SOURCE)/doc/build/loncapapasswordauthentication.html \ - docs/loncapapasswordauthentication.html - install $(SOURCE)/doc/build/loncapatimesync.html \ - docs/loncapatimesync.html - install $(SOURCE)/doc/build/loncapamathequivalency.html \ - docs/loncapamathequivalency.html - tar czvf install.lon-capa.org_docs.tar.gz docs - rm -Rf docs - 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 @@ -455,47 +414,71 @@ 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 + # ----------------------------- 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;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); \ - sort MANIFEST | perl -nle 'print "$(DIRTARGET)/$$_"' > \ - MANIFEST_loncapa; \ - ln -s . $(DIRTARGET); \ tar --no-recursion --numeric-owner --files-from MANIFEST_loncapa \ - -czf -h loncapa.tar.gz 2>WARNINGS || [ "0" == "0" ] + -h -czf loncapa.tar.gz 2>WARNINGS || [ "0" == "0" ] cat $(SOURCE)/WARNINGS | \ xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS rm -f $(SOURCE)/WARNINGS make warningnote -cvsreport: - 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