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 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
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)
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')
23 install_exec := install -m755 -p
24 install_data := install -m644 -p
27 perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
29 install: install_mostfiles
30 # install basic debbugs documentation
31 $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir)
34 $(sbin_dir)/debbugsconfig
37 # create the directories if they aren't there
38 for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
39 $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
40 $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
41 $(var_dir)/spool/db-h $(scripts_dir) $(examples_dir) $(man8_dir); \
42 do test -d $$dir || $(install_exec) -d $$dir; done
43 # we shouldn't ship db-h spool directories
44 # make db-h spool dirs if they don't exist
45 # cd $(var_dir)/spool/db-h; \
46 # for dir in $(shell seq -w 00 99); \
47 # do test -d $$dir || $(install_exec) -d $$dir; done
51 $(foreach script,$(scripts_in), $(exec $(install_exec) $(script) $(scripts_dir)/$(script)))
52 $(install_data) scripts/errorlib $(scripts_dir)/errorlib
55 $(install_data) scripts/config $(examples_dir)/config
56 $(install_data) scripts/config.debian $(examples_dir)/config.debian
57 $(install_data) scripts/text $(examples_dir)/text
58 $(install_data) debian/crontab misc/nextnumber misc/Maintainers \
59 misc/Maintainers.override misc/pseudo-packages.description \
60 misc/sources $(examples_dir)
61 $(install_data) examples/apache.conf $(examples_dir)
63 # install the HTML pages etc
64 $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;)
65 $(install_data) html/htaccess $(var_dir)/www/db/.htaccess
66 $(install_data) html/bugs.css $(var_dir)/www/bugs.css
69 for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
70 $(install_exec) cgi/bugs-fetch2.pl $(var_dir)/www/cgi/bugs-fetch2.pl
72 # # install Perl modules
73 # for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
74 # Make documentation for the perl modules
77 # install debbugsconfig
78 $(install_exec) debian/debbugsconfig $(sbin_dir)
79 $(install_data) debian/debbugsconfig.8 $(man8_dir)
80 # install migration tools
81 $(install_exec) migrate/debbugs-dbhash $(sbin_dir)
82 $(install_data) migrate/debbugs-dbhash.8 $(man8_dir)
83 $(install_exec) migrate/debbugs-upgradestatus $(sbin_dir)
85 # install the updateseqs file
86 $(install_data) misc/updateseqs $(var_dir)/spool
88 # install the templates
89 $(foreach dir, $(wildcard templates/*/*), $(exec -d $(install_exec) $(template_dir)/$(patsubst templates/%,%,$(dir))))
90 $(foreach tmpl, $(wildcard templates/*/*/*.tmpl), $(exec $(install_data) $(tmpl) $(template_dir)/$(patsubst templates/%,%,$(tmpl))))