1 # top-level Makefile for debbugs
2 # probably requires GNU make to run properly
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 man_dir := $(DESTDIR)/usr/share/man
11 man8_dir := $(man_dir)/man8
12 examples_dir := $(doc_dir)/examples
14 scripts_in := $(filter-out scripts/config.in scripts/errorlib.in scripts/text.in, $(wildcard scripts/*.in))
15 htmls_in := $(wildcard html/*.html.in)
16 cgis := $(wildcard cgi/*.cgi cgi/*.pl)
17 perls := $(foreach name,Log MIME Mail Packages Versions,Debbugs/$(name).pm)
19 install_exec := install -m755 -p
20 install_data := install -m644 -p
23 perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
25 install: install_mostfiles
26 # install basic debbugs documentation
27 $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir)
30 $(sbin_dir)/debbugsconfig
33 # create the directories if they aren't there
34 for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
35 $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
36 $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
37 $(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \
38 do test -d $$dir || $(install_exec) -d $$dir; done
40 # make db-h spool dirs if they don't exist
41 cd $(var_dir)/spool/db-h; \
42 for dir in $(shell seq -w 00 99); \
43 do test -d $$dir || $(install_exec) -d $$dir; done
46 $(foreach script,$(scripts_in), $(install_exec) $(script) $(scripts_dir)/$(patsubst scripts/%.in,%,$(script));)
47 $(install_data) scripts/errorlib.in $(scripts_dir)/errorlib
50 $(install_data) scripts/config.in $(examples_dir)/config
51 $(install_data) scripts/config.debian $(examples_dir)/config.debian
52 $(install_data) scripts/text.in $(examples_dir)/text
53 $(install_data) debian/crontab misc/nextnumber misc/Maintainers \
54 misc/Maintainers.override misc/pseudo-packages.description \
55 misc/sources $(examples_dir)
56 $(install_data) examples/apache.conf $(examples_dir)
58 # install the HTML pages etc
59 $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;)
60 $(install_data) html/htaccess $(var_dir)/www/db/.htaccess
61 $(install_data) html/bugs.css $(var_dir)/www/bugs.css
64 for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
65 $(install_exec) cgi/bugs-fetch2.pl.in $(var_dir)/www/cgi/bugs-fetch2.pl
67 # install Perl modules
68 for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
70 # install debbugsconfig
71 $(install_exec) debian/debbugsconfig $(sbin_dir)
72 $(install_data) debian/debbugsconfig.8 $(man8_dir)
73 # install migration tools
74 $(install_exec) migrate/debbugs-dbhash $(sbin_dir)
75 $(install_data) migrate/debbugs-dbhash.8 $(man8_dir)
76 $(install_exec) migrate/debbugs-upgradestatus $(sbin_dir)
78 # install the updateseqs file
79 $(install_data) misc/updateseqs $(var_dir)/spool