web commit by JoshTriplett: Template of Google Summer of Code application, with first...
[ikiwiki.git] / Makefile.PL
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use ExtUtils::MakeMaker;
5
6 # Add a few more targets.
7 sub MY::postamble {
8 q{
9 all:: extra_build
10 clean:: extra_clean
11 install:: extra_install
12 pure_install:: extra_install
13
14 VER=$(shell perl -e '$$_=<>;print m/\((.*?)\)/'<debian/changelog)
15
16 PROBABLE_INST_LIB=$(shell \\
17         if [ "$(INSTALLDIRS)" = "perl" ]; then \\
18                 echo $(INSTALLPRIVLIB); \\
19         elif [ "$(INSTALLDIRS)" = "site" ]; then \\
20                 echo $(INSTALLSITELIB); \\
21         elif [ "$(INSTALLDIRS)" = "vendor" ]; then \\
22                 echo $(INSTALLVENDORLIB); \\
23         fi \\
24 )
25
26 extra_build:
27         ./pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB) < ikiwiki.in > ikiwiki.out
28         chmod +x ikiwiki.out
29         PERL5LIB=.:${PERL5LIB} LANG=C ./ikiwiki.out doc html --templatedir=templates \
30                 --underlaydir=basewiki \
31                 --wikiname="ikiwiki" --verbose --no-rcs \
32                 --exclude=/discussion --no-discussion --userdir=users \
33                 --plugin=goodstuff \
34                 --plugin=haiku --plugin=polygen --plugin=fortune
35         ./mdwn2man ikiwiki 1 doc/usage.mdwn > ikiwiki.man
36         ./mdwn2man ikiwiki-mass-rebuild 8 doc/ikiwiki-mass-rebuild.mdwn > ikiwiki-mass-rebuild.man
37         $(MAKE) -C po
38
39 extra_clean:
40         rm -rf html doc/.ikiwiki
41         rm -f ikiwiki.man ikiwiki-mass-rebuild.man ikiwiki.out
42         $(MAKE) -C po clean
43
44 extra_install:
45         install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/templates
46         $(CP) -a templates/* $(DESTDIR)$(PREFIX)/share/ikiwiki/templates
47
48         install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/basewiki
49         $(CP) -aL basewiki/* $(DESTDIR)$(PREFIX)/share/ikiwiki/basewiki
50
51         install -d $(DESTDIR)$(PREFIX)/share/man/man1
52         install -m 644 ikiwiki.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki.1
53         
54         install -d $(DESTDIR)$(PREFIX)/share/man/man8
55         install -m 644 ikiwiki-mass-rebuild.man $(DESTDIR)$(PREFIX)/share/man/man8/ikiwiki-mass-rebuild.8
56         
57         install -d $(DESTDIR)$(PREFIX)/sbin
58         install ikiwiki-mass-rebuild $(DESTDIR)$(PREFIX)/sbin
59
60         install -d $(DESTDIR)$(PREFIX)/lib/w3m/cgi-bin
61         install ikiwiki-w3m.cgi $(DESTDIR)$(PREFIX)/lib/w3m/cgi-bin
62
63         install -d $(DESTDIR)$(PREFIX)/bin
64         install ikiwiki.out $(DESTDIR)$(PREFIX)/bin/ikiwiki
65
66         $(MAKE) -C po install PREFIX=$(PREFIX)
67 }
68 }
69
70 WriteMakefile(
71         NAME            => 'IkiWiki',
72         PREFIX          => "/usr/local",
73         PM_FILTER       => './pm_filter $(PREFIX) $(VER) $(PROBABLE_INST_LIB)',
74         MAN1PODS        => {},
75         PREREQ_PM       => {
76                 'XML::Simple'           => 0,
77                 'Text::Markdown'        => 0,
78                 'Date::Parse'           => 0,
79                 'HTML::Template'        => 0,
80                 'HTML::Scrubber'        => 0,
81                 'CGI::FormBuilder'      => 3.02.02,
82                 'Time::Duration'        => 0,
83                 'CGI::Session'          => 0,
84                 'Mail::Sendmail'        => 0,
85                 'HTML::Parser'          => 0,
86                 'URI'                   => 0,
87         },
88 );