Merge branch 'next' of ssh://down.oryx.com/oryx/aox into next
[aox:aox.git] / Jamfile
1 SubDir TOP ;
2
3 SubInclude TOP core ;
4 SubInclude TOP abnf ;
5 SubInclude TOP deliver ;
6 SubInclude TOP doc ;
7 SubInclude TOP encodings ;
8 SubInclude TOP collations ;
9 SubInclude TOP logd ;
10 SubInclude TOP aox ;
11 SubInclude TOP server ;
12 SubInclude TOP db ;
13 SubInclude TOP recorder ;
14 SubInclude TOP sasl ;
15 SubInclude TOP schema ;
16 SubInclude TOP scripts ;
17 SubInclude TOP tlsproxy ;
18 SubInclude TOP installer ;
19 SubInclude TOP extractors ;
20 SubInclude TOP archiveopteryx ;
21 SubInclude TOP aoximport ;
22 SubInclude TOP aoxexport ;
23
24
25 if ( $(BUILDDOC) ) {
26     SubInclude TOP udoc ;
27 }
28
29 Doc oryxdoc : core database schema encodings imap logd mailbox message sasl
30     server smtp tls user http pop sieve extractors abnf collations ;
31
32 if ( $(BUILDDOC) ) {
33     Depends install : doc ;
34     Depends all : doc ;
35     Depends doc : exe ;
36 }
37
38 MkDir $(INSTALLROOT)$(BINDIR) ;
39 MkDir $(INSTALLROOT)$(MANDIR) ;
40 MkDir $(INSTALLROOT)$(JAILDIR) ;
41 MkDir $(INSTALLROOT)$(MESSAGEDIR) ;
42 MkDir $(INSTALLROOT)$(PIDFILEDIR) ;
43 MkDir $(INSTALLROOT)$(CONFIGDIR) ;
44 MkDir $(INSTALLROOT)$(LOGFILE:D) ;
45 MkDir $(INSTALLROOT)$(LIBDIR) ;
46 MkDir $(INSTALLROOT)$(LIBDIR)/contrib ;
47 MkDir $(INSTALLROOT)$(LIBDIR)/tlsproxy/var/run ;
48
49 Depends install :
50     $(JAILDIR) $(MESSAGEDIR) $(CONFIGDIR) $(LOGFILE:D) $(PIDFILEDIR)
51     $(LIBDIR)/tlsproxy/var/run ;
52
53 # if we make JAILDIR, we should chmod it so noone can read it:
54 MODE on $(INSTALLROOT)$(JAILDIR) = 700 ;
55 Chmod $(INSTALLROOT)$(JAILDIR) ;
56
57 # if we make MESSAGEDIR, we should chmod it similarly. AOXUSER needs to
58 # be able to write to it, but we can't chown here, because the user may
59 # not exist yet.
60 MODE on $(INSTALLROOT)$(MESSAGEDIR) = 700 ;
61 Chmod $(INSTALLROOT)$(MESSAGEDIR) ;
62
63
64 actions Message {
65 fmt <<EOM | sed 's/^/  /'
66 To set up the database and generate a configuration file, run
67 $(LIBDIR)/installer as root. The new configuration file will be in
68 $(CONFIGDIR)/archiveopteryx.conf.
69
70 $(LIBDIR)/installer -n shows what it would do, without making any
71 changes. (If you are just upgrading from an older version,
72 $(BINDIR)/aox upgrade schema may be enough.
73 $(BINDIR)/aox upgrade schema -n shows what it would do, without making
74 any changes.)
75
76 The logfile is $(LOGFILE) by default and man pages are in $(MANDIR).
77
78 If you have any problems, the FAQ is at
79 http://www.archiveopteryx.org/faq/ and you can always ask
80 info@aox.org for help.
81
82 EOM
83 }
84
85 Message install ;
86
87
88 if $(BUILDDOC) {
89     local s u ;
90     local exceptions = canonical msgdump munger renderer logdmain tests
91     addressparser whip cram subscribe deliver aox recorder cmdsearch
92     cryptlib installer archiveopteryx aoximport aoxexport dbtest ;
93     for s in $(sets) {
94         if ! $(s) in $(documented-sets) && ! $(s) in $(u) &&
95            ! $(s) in $(exceptions)
96         {
97             u += $(s) ;
98         }
99     }
100     if $(u) {
101         echo Built but not documented: $(u) ;
102     }
103 }