Import mailman 2.1.9
[mspang/vmailman.git] / Makefile.in
1 # Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
2 #
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
7
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software 
15 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
17 # NOTE: Makefile.in is converted into Makefile by the configure script
18 # in the parent directory.  Once configure has run, you can recreate
19 # the Makefile by running just config.status.
20
21 # Variables set by configure
22
23 SHELL=          /bin/sh
24
25 VPATH=          @srcdir@
26 srcdir=         @srcdir@
27 bindir=         @bindir@
28 prefix=         @prefix@
29 exec_prefix=    @exec_prefix@
30 var_prefix=     @VAR_PREFIX@
31 DESTDIR=
32
33 CC=             @CC@
34 INSTALL=        @INSTALL@
35 PYTHON=         @PYTHON@
36
37 DEFS=           @DEFS@
38
39 # Customizable but not set by configure
40
41 OPT=            @OPT@
42 CFLAGS=         @CFLAGS@ $(OPT) $(DEFS)
43
44 VAR_DIRS= \
45         logs archives lists locks data spam qfiles \
46         archives/private archives/public
47
48 ARCH_INDEP_DIRS= \
49         bin templates scripts cron pythonlib \
50         Mailman Mailman/Cgi Mailman/Logging Mailman/Archiver \
51         Mailman/Handlers Mailman/Queue Mailman/Bouncers  \
52         Mailman/MTA Mailman/Gui Mailman/Commands messages icons \
53         tests tests/bounces tests/msgs
54
55 ARCH_DEP_DIRS=  cgi-bin mail
56
57 # Directories make should decend into
58 SUBDIRS=        bin cron misc Mailman scripts src templates messages tests
59
60
61 # Modes for directories and executables created by the install
62 # process.  Default to group-writable directories but
63 # user-only-writable for executables.
64 DIRMODE=        775
65 EXEMODE=        755
66 FILEMODE=       644
67 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
68 DIRSETGID=      chmod g+s
69
70 DATE = $(shell python -c 'import time; print time.strftime("%d-%b-%Y"),')
71 LANGPACK = README-I18N.en templates messages
72 EXCLUDES = --exclude=CVS --exclude=.cvsignore --exclude=Makefile* --exclude=*.files --exclude=*.old
73
74 # Rules
75
76 all: subdirs
77
78 subdirs: $(SUBDIRS)
79         for d in $(SUBDIRS); \
80         do \
81             (cd $$d; $(MAKE)); \
82         done
83
84 install: doinstall update
85
86 doinstall: $(SUBDIRS)
87         @echo "Creating architecture independent directories..."
88         @for d in $(VAR_DIRS); \
89         do \
90             dir=$(DESTDIR)$(var_prefix)/$$d; \
91             if test ! -d $$dir; then \
92                 echo "Creating directory hierarchy $$dir"; \
93                 $(srcdir)/mkinstalldirs $$dir; \
94                 chmod $(DIRMODE) $$dir; \
95                 $(DIRSETGID) $$dir; \
96             else true; \
97             fi; \
98         done
99         chmod o-r $(DESTDIR)$(var_prefix)/archives/private
100         @for d in $(ARCH_INDEP_DIRS); \
101         do \
102             dir=$(DESTDIR)$(prefix)/$$d; \
103             if test ! -d $$dir; then \
104                 echo "Creating directory hierarchy $$dir"; \
105                 $(srcdir)/mkinstalldirs $$dir; \
106                 chmod $(DIRMODE) $$dir; \
107                 $(DIRSETGID) $$dir; \
108             else true; \
109             fi; \
110         done
111         @echo "Creating architecture dependent directories..."
112         @for d in $(ARCH_DEP_DIRS); \
113         do \
114             dir=$(DESTDIR)$(exec_prefix)/$$d; \
115             if test ! -d $$dir; then \
116                 echo "Creating directory hierarchy $$dir"; \
117                 $(srcdir)/mkinstalldirs $$dir; \
118                 chmod $(DIRMODE) $$dir; \
119                 $(DIRSETGID) $$dir; \
120             else true; \
121             fi; \
122         done
123         @for d in $(SUBDIRS); \
124         do \
125             (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
126         done
127         $(PYTHON) -c 'from compileall import *; compile_dir("$(DESTDIR)$(prefix)/Mailman")'
128
129 # Only run bin/update if we aren't installing in DESTDIR, as this
130 # means there are probably no lists to deal with, and it wouldn't
131 # work anyway (because of import paths.)
132 update:
133         @(cd $(DESTDIR)$(prefix) ; test -n "$(DESTDIR)" || bin/update)
134
135 clean: $(SUBDIRS)
136         @for d in $(SUBDIRS); \
137         do \
138             (cd $$d; $(MAKE) clean); \
139         done
140         -rm -f update.log
141
142 distclean: $(SUBDIRS)
143         @for d in $(SUBDIRS); \
144         do \
145             (cd $$d; $(MAKE) distclean); \
146         done
147         -rm -f config.cache config.log config.status Makefile
148         -rm -rf build
149
150 langpack:
151         tar zcvf langpack-$(DATE).tgz $(EXCLUDES) $(LANGPACK)