]> git.donarmstrong.com Git - debbugs.git/blobdiff - Makefile
use scalar IO::InnerFile::getline to work around an InnerFile bug
[debbugs.git] / Makefile
index 152e75099ce994e117c0b2e9ac5e9e8f44a2d1de..8114d0bc4baea08251e7b0285ea1cc1972827727 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ man_dir               := $(DESTDIR)/usr/share/man
 man8_dir       := $(man_dir)/man8
 examples_dir   := $(doc_dir)/examples
 
-scripts_in     := $(foreach script, $(filter-out scripts/config scripts/errorlib scripts/text, $(wildcard scripts/*)),$(patsubst scripts/%,%,$(script)))
+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)
 
@@ -23,20 +23,40 @@ cgis                := $(wildcard cgi/*.cgi cgi/*.pl)
 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
+
 test:
-       perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
+       LC_ALL=$(UTF8_LOCALE) $(PERL) -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
+
+test_%: t/%.t
+       LC_ALL=$(UTF8_LOCALE) $(PERL) -MTest::Harness -I. -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 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) $(examples_dir) $(man8_dir); \
           do test -d $$dir || $(install_exec) -d $$dir; done
@@ -48,12 +68,12 @@ $(var_dir)/spool/db-h $(scripts_dir) $(examples_dir) $(man8_dir); \
 
 
        # install the scripts
-       $(foreach script,$(scripts_in), $(exec $(install_exec) $(script) $(scripts_dir)/$(script)))
+       $(foreach script,$(scripts_in), $(install_exec) scripts/$(script) $(scripts_dir);)
        $(install_data) scripts/errorlib $(scripts_dir)/errorlib
 
        # install examples
-       $(install_data) scripts/config $(examples_dir)/config
-       $(install_data) scripts/config.debian $(examples_dir)/config.debian
+       $(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 \
@@ -63,7 +83,7 @@ $(var_dir)/spool/db-h $(scripts_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 the CGIs
        for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
@@ -86,8 +106,8 @@ $(var_dir)/spool/db-h $(scripts_dir) $(examples_dir) $(man8_dir); \
        $(install_data) misc/updateseqs $(var_dir)/spool
 
        # install the templates
-       $(foreach dir, $(wildcard templates/*/*), $(exec -d $(install_exec) $(template_dir)/$(patsubst templates/%,%,$(dir))))
-       $(foreach tmpl, $(wildcard templates/*/*/*.tmpl), $(exec $(install_data) $(tmpl) $(template_dir)/$(patsubst templates/%,%,$(tmpl))))
+       $(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
\ No newline at end of file
+.PHONY: test build