# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software 
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

# NOTE: Makefile.in is converted into Makefile by the configure script
# in the parent directory.  Once configure has run, you can recreate
# the Makefile by running just config.status.

# Variables set by configure

SHELL=		/bin/sh

VPATH=		@srcdir@
srcdir=		@srcdir@
bindir=		@bindir@
prefix=		@prefix@
exec_prefix=	@exec_prefix@
var_prefix=	@VAR_PREFIX@

CC=		@CC@
INSTALL=	@INSTALL@
PYTHON= 	@PYTHON@

DEFS=		@DEFS@

MAILMAN_UID=	@MAILMAN_UID@

# Customizable but not set by configure

OPT=		@OPT@
CFLAGS=		@CFLAGS@ $(OPT) $(DEFS)

VAR_DIRS= \
	logs archives lists locks qfiles data spam filters \
	archives/private archives/public
ARCH_INDEP_DIRS= \
	bin templates scripts cron \
	Mailman Mailman/Cgi Mailman/Logging Mailman/Archiver \
	Mailman/Handlers Mailman/Bouncers Mailman/pythonlib \
	icons
ARCH_DEP_DIRS=	cgi-bin mail

# Directories make should decend into
SUBDIRS=	bin cron filters misc Mailman scripts src templates


# Modes for directories and executables created by the install
# process.  Default to group-writable directories but
# user-only-writable for executables.
DIRMODE=	775
EXEMODE=	755
FILEMODE=	644
INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
DIRSETGID=	chmod g+s


# Rules

all: subdirs

subdirs: $(SUBDIRS)
	for d in $(SUBDIRS); \
	do \
	    (cd $$d; $(MAKE)); \
	done

install: doinstall update

doinstall: $(SUBDIRS)
	@echo "Creating architecture independent directories..."
	@for d in $(VAR_DIRS); \
	do \
	    dir=$(var_prefix)/$$d; \
	    if test ! -d $$dir; then \
		echo "Creating directory hierarchy $$dir"; \
		./mkinstalldirs $$dir; \
		chmod $(DIRMODE) $$dir; \
		$(DIRSETGID) $$dir; \
	    else true; \
	    fi; \
	done
	chmod o-r $(var_prefix)/archives/private
	@for d in $(ARCH_INDEP_DIRS); \
	do \
	    dir=$(prefix)/$$d; \
	    if test ! -d $$dir; then \
		echo "Creating directory hierarchy $$dir"; \
		./mkinstalldirs $$dir; \
		chmod $(DIRMODE) $$dir; \
		$(DIRSETGID) $$dir; \
	    else true; \
	    fi; \
	done
	@echo "Creating architecture dependent directories..."
	@for d in $(ARCH_DEP_DIRS); \
	do \
	    dir=$(exec_prefix)/$$d; \
	    if test ! -d $$dir; then \
		echo "Creating directory hierarchy $$dir"; \
		./mkinstalldirs $$dir; \
		chmod $(DIRMODE) $$dir; \
		$(DIRSETGID) $$dir; \
	    else true; \
	    fi; \
	done
	@for d in $(SUBDIRS); \
	do \
	    (cd $$d; $(MAKE) install); \
	done
	$(PYTHON) -c 'from compileall import *; compile_dir("$(prefix)/Mailman")'

update:
	@(cd $(prefix) ; bin/update) | tee ./update.log

clean: $(SUBDIRS)
	@for d in $(SUBDIRS); \
	do \
	    (cd $$d; $(MAKE) clean); \
	done
	-rm update.log

distclean: $(SUBDIRS)
	@for d in $(SUBDIRS); \
	do \
	    (cd $$d; $(MAKE) distclean); \
	done
	-rm config.cache config.log config.status Makefile

# Local Variables:
# indent-tabs-mode: t
# End:
