X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Makefile;h=b3e46a6be7e1e88601d7ab3f56aba13ba981b099;hb=210f625e6e6b4cbe1065f35d9eb0bdc73563969c;hp=4dad84022d0ac0b5829d19fcad034a8093d784cc;hpb=580822d029b7914604e00b23974bd1baa8410bed;p=debbugs.git diff --git a/Makefile b/Makefile index 4dad840..b3e46a6 100644 --- a/Makefile +++ b/Makefile @@ -5,54 +5,66 @@ sbin_dir := $(DESTDIR)/usr/sbin etc_dir := $(DESTDIR)/etc/debbugs var_dir := $(DESTDIR)/var/lib/debbugs scripts_dir := $(DESTDIR)/usr/lib/debbugs -perl_dir := $(DESTDIR)/usr/share/perl5/Debbugs doc_dir := $(DESTDIR)/usr/share/doc/debbugs +templates_dir := $(DESTDIR)/usr/share/debbugs/templates man_dir := $(DESTDIR)/usr/share/man man8_dir := $(man_dir)/man8 examples_dir := $(doc_dir)/examples -scripts_in := $(filter-out scripts/config.in scripts/errorlib.in scripts/text.in, $(wildcard scripts/*.in)) +scripts_in = $(foreach script, $(filter-out scripts/config% scripts/errorlib scripts/text, $(wildcard scripts/*)),$(patsubst scripts/%,%,$(script))) htmls_in := $(wildcard html/*.html.in) -cgis := $(wildcard cgi/*.cgi cgi/*.pl) - -# We use the Makefile.PL to install these; not totally decided if we -# should switch entirely to this model. -#perls := $(shell find Debbugs -type f -iname '*.pm') +cgis := $(wildcard cgi/*.cgi) install_exec := install -m755 -p install_data := install -m644 -p +PERL ?= /usr/bin/perl +# Some tests need to run under an UTF-8 locale. +UTF8_LOCALE ?= C.UTF-8 + +all: build + +build: + $(PERL) Makefile.PL + $(MAKE) -f Makefile.perl + $(MAKE) -C html/logo + test: - perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))' + LC_ALL=$(UTF8_LOCALE) $(PERL) -MTest::Harness -Ilib -e 'runtests(glob(q(t/*.t)))' + +test_%: t/%.t + LC_ALL=$(UTF8_LOCALE) $(PERL) -MTest::Harness -Ilib -e 'runtests(q($<))' + +testcover: + LC_ALL=$(UTF8_LOCALE) PERL5LIB=t/cover_lib/:. cover -test + +clean: + if [ -e Makefile.perl ]; then \ + $(MAKE) -f Makefile.perl clean; \ + fi; install: install_mostfiles # install basic debbugs documentation - $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir) - - # configure debbugs - $(sbin_dir)/debbugsconfig + $(install_data) COPYING UPGRADE.md README.md debian/README.mail $(doc_dir) + $(MAKE) -f Makefile.perl install DESTDIR=$(DESTDIR) install_mostfiles: # create the directories if they aren't there for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \ $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \ +$(var_dir)/www/css \ $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \ -$(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \ +$(var_dir)/spool/db-h $(scripts_dir) $(examples_dir) $(man8_dir); \ do test -d $$dir || $(install_exec) -d $$dir; done - # make db-h spool dirs if they don't exist - cd $(var_dir)/spool/db-h; \ - for dir in $(shell seq -w 00 99); \ - do test -d $$dir || $(install_exec) -d $$dir; done - # install the scripts - $(foreach script,$(scripts_in), $(install_exec) $(script) $(scripts_dir)/$(patsubst scripts/%.in,%,$(script));) - $(install_data) scripts/errorlib.in $(scripts_dir)/errorlib + $(foreach script,$(scripts_in), $(install_exec) scripts/$(script) $(scripts_dir);) + $(install_data) scripts/errorlib $(scripts_dir)/errorlib # install examples - $(install_data) scripts/config.in $(examples_dir)/config - $(install_data) scripts/config.debian $(examples_dir)/config.debian - $(install_data) scripts/text.in $(examples_dir)/text + $(install_data) examples/config $(examples_dir)/config + $(install_data) examples/config.debian $(examples_dir)/config.debian + $(install_data) scripts/text $(examples_dir)/text $(install_data) debian/crontab misc/nextnumber misc/Maintainers \ misc/Maintainers.override misc/pseudo-packages.description \ misc/sources $(examples_dir) @@ -61,16 +73,11 @@ $(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \ # install the HTML pages etc $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;) $(install_data) html/htaccess $(var_dir)/www/db/.htaccess - $(install_data) html/bugs.css $(var_dir)/www/bugs.css + $(install_data) html/bugs.css $(var_dir)/www/css/bugs.css + $(install_data) html/logo/debbugs_logo_icon.png $(var_dir)/www/favicon.png # install the CGIs for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done - $(install_exec) cgi/bugs-fetch2.pl.in $(var_dir)/www/cgi/bugs-fetch2.pl - -# # install Perl modules -# for perl in $(perls); do $(install_data) $$perl $(perl_dir); done - # Make documentation for the perl modules - # install debbugsconfig $(install_exec) debian/debbugsconfig $(sbin_dir) @@ -83,4 +90,9 @@ $(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \ # install the updateseqs file $(install_data) misc/updateseqs $(var_dir)/spool -.PHONY: test \ No newline at end of file + # install the templates + $(foreach dir, $(wildcard templates/*/*), $(install_exec) -d $(templates_dir)/$(patsubst templates/%,%,$(dir));) + $(foreach tmpl, $(wildcard templates/*/*/*.tmpl), $(install_data) $(tmpl) $(templates_dir)/$(patsubst templates/%,%,$(tmpl));) + + +.PHONY: test build