X-Git-Url: http://git.imager.perl.org/bse.git/blobdiff_plain/e4a9e7c631d263293935bcee08a09169e1ae4f7e..14e4ca03e4ec45be804843234a879e8c2c2c09d1:/Makefile diff --git a/Makefile b/Makefile index 024e9663..7c0286bd 100755 --- a/Makefile +++ b/Makefile @@ -1,12 +1,30 @@ -VERSION=0.19 +VERSION=0.25 DISTNAME=bse-$(VERSION) DISTBUILD=$(DISTNAME) DISTTAR=../$(DISTNAME).tar DISTTGZ=$(DISTTAR).gz -WEBBASE=/home/httpd/html/bse +WEBBASE=/home/tony/www/bse +PERL=$(shell perl -It -MBSE::Test -e 'print BSE::Test::test_perl()') +PERLBIN=$(shell $(PERL) -MConfig -e 'print $$Config{installbin}') + +BSEMODULES=site/cgi-bin/modules/BSE/Modules.pm + +NOOP=echo Nothing + +HTMLDEPS=$(shell $(PERL) -lane 'print $$F[0] if $$F[0] =~ /\.(pm|pl|pod)$$/' MANIFEST) MODULES=$(shell grep cgi-bin/.*\.pm MANIFEST | sed -e '/^\#/d' -e 's/[ \t].*//' -e '/^site\/cgi-bin\/modules\/BSE\/\(Modules\|Version\)\.pm/d' ) -VERSIONDEPS=$(shell perl site/util/bse_versiondeps.pl MANIFEST) +VERSIONDEPS=$(shell $(PERL) site/util/bse_versiondeps.pl MANIFEST) + +POD2TEXT=$(PERLBIN)/pod2text +POD2HTML=$(PERLBIN)/pod2html + +UTILDIR=$(shell $(PERL) -Ilib -MBSE::Install=util_dir -e 'print util_dir') +DATADIR=$(shell $(PERL) -Ilib -MBSE::Install=data_dir -e 'print data_dir') + +.PHONY: help dist cleantree archive distdir clean docs otherdocs dbinfo +.PHONY: version modversion testinst test testup checkver regen_known_errors +.PHONY: manicheck filecheck manifect htmldocs help: @echo make dist - build the tar.gz file and copy to distribution directory @@ -40,83 +58,91 @@ $(DISTTGZ): distdir exit 1 ; \ fi tar cf $(DISTTAR) $(DISTBUILD) - -perl -MExtUtils::Command -e rm_rf $(DISTBUILD) + -$(PERL) -MExtUtils::Command -e rm_rf $(DISTBUILD) gzip $(DISTTAR) # tar czf $(DISTFILE) -C .. bse --exclude '*~' --exclude '*,v' --exclude 'pod2html-*cache' # recent ExtUtils::Manifest don't copy the executable bit, fix that here -distdir: docs dbinfo version modversion - -perl -MExtUtils::Command -e rm_rf $(DISTBUILD) - perl -MExtUtils::Manifest=manicopy,maniread -e "manicopy(maniread(), '$(DISTBUILD)')" +distdir: docs dbinfo version + -$(PERL) -MExtUtils::Command -e rm_rf $(DISTBUILD) + $(PERL) -MExtUtils::Manifest=manicopy,maniread -e "manicopy(maniread(), '$(DISTBUILD)')" + $(PERL) site/util/make_versions.pl $(DISTBUILD)/$(BSEMODULES) mkdir $(DISTBUILD)/site/htdocs/shop find $(DISTBUILD) -type f | xargs chmod u+w - for i in `cat MANIFEST` ; do if [ -x $$i ] ; then chmod a+x $(DISTBUILD)/$$i ; fi ; done + for i in `cat MANIFEST | sed -e 's/\s.*//'` ; do if [ -x $$i ] ; then chmod a+x $(DISTBUILD)/$$i ; fi ; done clean: - -perl -MExtUtils::Command -e rm_f site/htdocs/index.html site/htdocs/shop/*.html site/htdocs/a/*.html - -cd site/htdocs/images ; \ - for i in *.gif ; do \ - if [ $$i != trans_pixel.gif ] ; then \ - rm $$i ; \ - fi ; \ - done - -perl -MExtUtils::Command -e rm_f site/htdocs/images/*.jpg - -perl -MExtUtils::Command -e rm_rf $(DISTBUILD) + $(NOOP) docs: INSTALL.txt INSTALL.html otherdocs INSTALL.txt: INSTALL.pod - pod2text INSTALL.txt + $(POD2TEXT) INSTALL.tmp + mv INSTALL.tmp INSTALL.txt INSTALL.html: INSTALL.pod - pod2html --infile=INSTALL.pod --outfile=INSTALL.html + $(POD2HTML) --infile=INSTALL.pod --outfile=INSTALL.htmp + mv INSTALL.htmp INSTALL.html -rm pod2html-dircache pod2html-itemcache pod2htmd.tmp pod2htmi.tmp otherdocs: - cd site/docs ; make all + cd site/docs ; make all PERL=$(PERL) dbinfo: site/util/mysql.str -site/util/mysql.str: schema/bse.sql - perl schema/mysql_build.pl >site/util/mysql.str +site/util/mysql.str: schema/bse.sql schema/mysql_build.pl + $(PERL) schema/mysql_build.pl >site/util/mysql.str version: site/cgi-bin/modules/BSE/Version.pm site/cgi-bin/modules/BSE/Version.pm: $(VERSIONDEPS) - perl site/util/bse_mkgitversion.pl $(VERSION) site/cgi-bin/modules/BSE/Version.pm + $(PERL) site/util/bse_mkgitversion.pl $(VERSION) site/cgi-bin/modules/BSE/Version.pm -modversion: site/cgi-bin/modules/BSE/Modules.pm +modversion: $(BSEMODULES) -site/cgi-bin/modules/BSE/Modules.pm: $(MODULES) site/util/make_versions.pl - perl site/util/make_versions.pl site/cgi-bin/modules/BSE/Modules.pm +$(BSEMODULES): $(MODULES) site/util/make_versions.pl + $(PERL) site/util/make_versions.pl $(BSEMODULES) # this is very rough testinst: distdir - perl localinst.perl $(DISTBUILD) - perl -MExtUtils::Command -e rm_rf $(DISTBUILD) - cd `perl -lne 'do { print $$1; exit; } if /^base_dir\s*=\s*(.*)/' test.cfg`/util ; perl loaddata.pl ../data/db + $(PERL) localinst.perl $(DISTBUILD) + $(PERL) -MExtUtils::Command -e rm_rf $(DISTBUILD) + cd $(UTILDIR) ; $(PERL) loaddata.pl $(DATADIR)/db testup: checkver distdir - perl localinst.perl $(DISTBUILD) leavedb - perl -MExtUtils::Command -e rm_rf $(DISTBUILD) - cd `perl -lne 'do { print $$1; exit; } if /^base_dir\s*=\s*(.*)/' test.cfg`/util ; perl upgrade_mysql.pl -b ; perl loaddata.pl ../data/db + $(PERL) localinst.perl $(DISTBUILD) leavedb + $(PERL) -MExtUtils::Command -e rm_rf $(DISTBUILD) + cd $(UTILDIR) ; $(PERL) upgrade_mysql.pl -b ; $(PERL) loaddata.pl $(DATADIR)/db checkver: if [ -d .git ] ; then perl site/util/check_versions.pl ; fi -TEST_FILES=t/*.t +TEST_FILES=t/*.t t/*/*.t TEST_VERBOSE=0 test: testup - perl '-MTest::Harness=runtests,$$verbose' -Isite/cgi-bin/modules -It -e '$$verbose=$(TEST_VERBOSE); runtests @ARGV' $(TEST_FILES) + $(PERL) '-MTest::Harness=runtests,$$verbose' -Isite/cgi-bin/modules -It -e '$$verbose=$(TEST_VERBOSE); runtests @ARGV' $(TEST_FILES) + +test_load: testup + $(PERL) '-MTest::Harness=runtests,$$verbose' -Isite/cgi-bin/modules -It -e '$$verbose=$(TEST_VERBOSE); runtests @ARGV' t/t000load.t + +regen_known_errors: + $(PERL) t/900-kwalitee/040-podcheck.t -r manicheck: - perl -MExtUtils::Manifest=manicheck -e 'manicheck()' + $(PERL) -MExtUtils::Manifest=manicheck -e 'manicheck()' filecheck: - perl -MExtUtils::Manifest=filecheck -e 'filecheck()' + $(PERL) -MExtUtils::Manifest=filecheck -e 'filecheck()' manifest: - perl -MExtUtils::Manifest=mkmanifest -e mkmanifest + $(PERL) -MExtUtils::Manifest=mkmanifest -e mkmanifest + +htmldocs: $(HTMLDEPS) + if [ -z "$(HTMLDOCDIR)" ] ; then \ + echo Supply HTMLDOCDIR ; exit 1 ; \ + fi + [ -d "$(HTMLDOCDIR)" ] || mkdir -p "$(HTMLDOCDIR)" + $(PERL) makehtmldocs.pl "$(HTMLDOCDIR)"