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)
18 # We use the Makefile.PL to install these; not totally decided if we
19 # should switch entirely to this model.
20 #perls := $(shell find Debbugs -type f -iname '*.pm')
22 install_exec := install -m755 -p
23 install_data := install -m644 -p
26 perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
28 install: install_mostfiles
29 # install basic debbugs documentation
30 $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir)
33 $(sbin_dir)/debbugsconfig
36 # create the directories if they aren't there
37 for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
38 $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
39 $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
40 $(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \
41 do test -d $$dir || $(install_exec) -d $$dir; done
43 # make db-h spool dirs if they don't exist
44 cd $(var_dir)/spool/db-h; \
45 for dir in $(shell seq -w 00 99); \
46 do test -d $$dir || $(install_exec) -d $$dir; done
49 $(foreach script,$(scripts_in), $(install_exec) $(script) $(scripts_dir)/$(patsubst scripts/%.in,%,$(script));)
50 $(install_data) scripts/errorlib.in $(scripts_dir)/errorlib
53 $(install_data) scripts/config.in $(examples_dir)/config
54 $(install_data) scripts/config.debian $(examples_dir)/config.debian
55 $(install_data) scripts/text.in $(examples_dir)/text
56 $(install_data) debian/crontab misc/nextnumber misc/Maintainers \
57 misc/Maintainers.override misc/pseudo-packages.description \
58 misc/sources $(examples_dir)
59 $(install_data) examples/apache.conf $(examples_dir)
61 # install the HTML pages etc
62 $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;)
63 $(install_data) html/htaccess $(var_dir)/www/db/.htaccess
64 $(install_data) html/bugs.css $(var_dir)/www/bugs.css
67 for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
68 $(install_exec) cgi/bugs-fetch2.pl.in $(var_dir)/www/cgi/bugs-fetch2.pl
70 # # install Perl modules
71 # for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
72 # Make documentation for the perl modules
75 # install debbugsconfig
76 $(install_exec) debian/debbugsconfig $(sbin_dir)
77 $(install_data) debian/debbugsconfig.8 $(man8_dir)
78 # install migration tools
79 $(install_exec) migrate/debbugs-dbhash $(sbin_dir)
80 $(install_data) migrate/debbugs-dbhash.8 $(man8_dir)
81 $(install_exec) migrate/debbugs-upgradestatus $(sbin_dir)
83 # install the updateseqs file
84 $(install_data) misc/updateseqs $(var_dir)/spool