]> git.donarmstrong.com Git - debbugs.git/blob - Makefile
default charset to UTF-8 when it isn't defined
[debbugs.git] / Makefile
1 # top-level Makefile for debbugs
2 # probably requires GNU make to run properly
3
4 sbin_dir        := $(DESTDIR)/usr/sbin
5 etc_dir         := $(DESTDIR)/etc/debbugs
6 var_dir         := $(DESTDIR)/var/lib/debbugs
7 scripts_dir     := $(DESTDIR)/usr/lib/debbugs
8 perl_dir        := $(DESTDIR)/usr/share/perl5/Debbugs
9 doc_dir         := $(DESTDIR)/usr/share/doc/debbugs
10 templates_dir   := $(DESTDIR)/usr/share/debbugs/templates
11 man_dir         := $(DESTDIR)/usr/share/man
12 man8_dir        := $(man_dir)/man8
13 examples_dir    := $(doc_dir)/examples
14
15 scripts_in      = $(foreach script, $(filter-out scripts/config% scripts/errorlib scripts/text, $(wildcard scripts/*)),$(patsubst scripts/%,%,$(script)))
16 htmls_in        := $(wildcard html/*.html.in)
17 cgis            := $(wildcard cgi/*.cgi cgi/*.pl)
18
19 # We use the Makefile.PL to install these; not totally decided if we
20 # should switch entirely to this model.
21 #perls          := $(shell find Debbugs -type f -iname '*.pm')
22
23 install_exec    := install -m755 -p
24 install_data    := install -m644 -p
25
26 PERL ?= /usr/bin/perl
27
28 all: build test
29
30 build:
31         $(PERL) Makefile.PL
32         $(MAKE) -f Makefile.perl
33
34 test:
35         $(PERL) -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
36
37 test_%: t/%.t
38         $(PERL) -MTest::Harness -I. -e 'runtests(q($<))'
39
40 testcover:
41         PERLLIB=t/cover_lib/ cover -test
42
43 clean:
44         if [ -e Makefile.perl ]; then \
45                 $(MAKE) -f Makefile.perl clean; \
46         fi;
47
48 install: install_mostfiles
49         # install basic debbugs documentation
50         $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir)
51
52         # configure debbugs
53         $(sbin_dir)/debbugsconfig
54
55 install_mostfiles:
56         # create the directories if they aren't there
57         for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
58 $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
59 $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
60 $(var_dir)/spool/db-h $(scripts_dir) $(examples_dir) $(man8_dir); \
61           do test -d $$dir || $(install_exec) -d $$dir; done
62 # we shouldn't ship db-h spool directories
63         # make db-h spool dirs if they don't exist
64 #       cd $(var_dir)/spool/db-h; \
65 #         for dir in $(shell seq -w 00 99); \
66 #           do test -d $$dir || $(install_exec) -d $$dir; done
67
68
69         # install the scripts
70         $(foreach script,$(scripts_in), $(install_exec) scripts/$(script) $(scripts_dir);)
71         $(install_data) scripts/errorlib $(scripts_dir)/errorlib
72
73         # install examples
74         $(install_data) scripts/config $(examples_dir)/config
75         $(install_data) scripts/config.debian $(examples_dir)/config.debian
76         $(install_data) scripts/text $(examples_dir)/text
77         $(install_data) debian/crontab misc/nextnumber misc/Maintainers \
78           misc/Maintainers.override misc/pseudo-packages.description \
79           misc/sources $(examples_dir)
80         $(install_data) examples/apache.conf $(examples_dir)
81
82         # install the HTML pages etc
83         $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;)
84         $(install_data) html/htaccess $(var_dir)/www/db/.htaccess
85         $(install_data) html/bugs.css $(var_dir)/www/bugs.css
86
87         # install the CGIs
88         for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
89         $(install_exec) cgi/bugs-fetch2.pl $(var_dir)/www/cgi/bugs-fetch2.pl
90
91 #       # install Perl modules
92 #       for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
93         # Make documentation for the perl modules
94
95
96         # install debbugsconfig
97         $(install_exec) debian/debbugsconfig $(sbin_dir)
98         $(install_data) debian/debbugsconfig.8 $(man8_dir)
99         # install migration tools
100         $(install_exec) migrate/debbugs-dbhash $(sbin_dir)
101         $(install_data) migrate/debbugs-dbhash.8 $(man8_dir)
102         $(install_exec) migrate/debbugs-upgradestatus $(sbin_dir)
103
104         # install the updateseqs file
105         $(install_data) misc/updateseqs $(var_dir)/spool
106
107         # install the templates
108         $(foreach dir, $(wildcard templates/*/*), $(install_exec) -d $(templates_dir)/$(patsubst templates/%,%,$(dir));)
109         $(foreach tmpl, $(wildcard templates/*/*/*.tmpl), $(install_data) $(tmpl) $(templates_dir)/$(patsubst templates/%,%,$(tmpl));)
110
111
112 .PHONY: test build