]> git.donarmstrong.com Git - debbugs.git/blob - Makefile
[project @ 2005-08-17 21:46:13 by don]
[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 man_dir         := $(DESTDIR)/usr/share/man
11 man8_dir        := $(man_dir)/man8
12 examples_dir    := $(doc_dir)/examples
13
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)
18
19 install_exec    := install -m755 -p
20 install_data    := install -m644 -p
21
22 install: install_mostfiles
23         # install basic debbugs documentation
24         $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir)
25
26         # configure debbugs
27         $(sbin_dir)/debbugsconfig
28
29 install_mostfiles:
30         # create the directories if they aren't there
31         for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
32 $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
33 $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
34 $(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \
35           do test -d $$dir || $(install_exec) -d $$dir; done
36
37         # install the scripts
38         $(foreach script,$(scripts_in), $(install_exec) $(script) $(scripts_dir)/$(patsubst scripts/%.in,%,$(script));)
39         $(install_data) scripts/errorlib.in $(scripts_dir)/errorlib
40
41         # install examples
42         $(install_data) scripts/config.in $(examples_dir)/config
43         $(install_data) scripts/config.debian $(examples_dir)/config.debian
44         $(install_data) scripts/text.in $(examples_dir)/text
45         $(install_data) debian/crontab misc/nextnumber misc/Maintainers \
46           misc/Maintainers.override misc/pseudo-packages.description \
47           misc/sources $(examples_dir)
48         $(install_data) examples/apache.conf $(examples_dir)
49
50         # install the HTML pages etc
51         $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;)
52         $(install_data) html/htaccess $(var_dir)/www/db/.htaccess
53
54         # install the CGIs
55         for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
56         $(install_exec) cgi/bugs-fetch2.pl.in $(var_dir)/www/cgi/bugs-fetch2.pl
57
58         # install Perl modules
59         for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
60
61         # install debbugsconfig
62         $(install_exec) debian/debbugsconfig $(sbin_dir)
63         $(install_data) debian/debbugsconfig.8 $(man8_dir)
64         # install migration tools
65         $(install_exec) migrate/debbugs-dbhash $(sbin_dir)
66         $(install_data) migrate/debbugs-dbhash.8 $(man8_dir)
67         $(install_exec) migrate/debbugs-upgradestatus $(sbin_dir)
68
69         # install the updateseqs file
70         $(install_data) misc/updateseqs $(var_dir)/spool