# 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

prefix=   	@prefix@
exec_prefix=	@exec_prefix@
VPATH=		@srcdir@
srcdir= 	@srcdir@
bindir= 	@bindir@

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

DEFS=   	@DEFS@
LIBS=		@LIBS@

# UIDs and GIDs
MAIL_GID=      	@MAIL_GID@
CGI_GID=	@CGI_GID@
#ALIAS_UID=	@ALIAS_UID@
#ALIAS_GID=	@ALIAS_GID@
MAILMAN_UID=	@MAILMAN_UID@

# Customizable but not set by configure
OPT=		@OPT@
CFLAGS=		@CFLAGS@ $(OPT) $(DEFS) $(LIBS)
CGIDIR= 	$(exec_prefix)/cgi-bin
CGIEXT=		@CGIEXT@
MAILDIR=	$(exec_prefix)/mail

SHELL=		/bin/sh

MAIL_FLAGS=	-DMAIL_GID=$(MAIL_GID)

CGI_FLAGS=	-DCGI_GID=$(CGI_GID)

#ALIAS_FLAGS=	-DALIAS_UID=$(ALIAS_UID) \
#		-DALIAS_GID=$(ALIAS_GID)

HELPFUL=	-DHELPFUL

COMMON_FLAGS=	-DPREFIX="\"$(prefix)\"" \
		-DPYTHON="\"$(PYTHON)\"" \
		$(HELPFUL)


# 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
INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)

# Fixed definitions

CGI_PROGS= admin admindb archives edithtml options \
listinfo subscribe roster handle_opts private

COMMONOBJS= common.o vsnprintf.o

MAIL_PROGS= wrapper

#ALIAS_PROGS= addaliases

SUID_CGI_PROGS= private

SUID_MAIL_PROGS=

PROGRAMS= $(CGI_PROGS) $(MAIL_PROGS) $(ALIAS_PROGS)


# Rules

all: $(PROGRAMS)

wrapper: $(srcdir)/mail-wrapper.c $(COMMONOBJS)
	$(CC) -I. $(MAIL_FLAGS) $(CFLAGS) $(COMMONOBJS) -o $@ $(srcdir)/mail-wrapper.c

#addaliases: $(srcdir)/alias-wrapper.c $(COMMONOBJS)
#	$(CC) -I. $(ALIAS_FLAGS) $(CFLAGS) -o $@ $(srcdir)/alias-wrapper.c

$(CGI_PROGS): $(srcdir)/cgi-wrapper.c $(COMMONOBJS)
	$(CC) -DSCRIPT="\"$@\"" -I. $(CGI_FLAGS) $(CFLAGS) $(COMMONOBJS) -o $@ $(srcdir)/cgi-wrapper.c

common.o: $(srcdir)/common.c $(srcdir)/common.h $(srcdir)/Makefile
	$(CC) -c -I. $(COMMON_FLAGS) $(CFLAGS) $(srcdir)/common.c

vsnprintf.o: $(srcdir)/vsnprintf.c $(srcdir)/Makefile
	$(CC) -c -I. $(COMMON_FLAGS) $(CFLAGS) $(srcdir)/vsnprintf.c

install: all
	for f in $(CGI_PROGS); \
	do \
	    exe=$(CGIDIR)/$$f$(CGIEXT); \
	    $(INSTALL_PROGRAM) $$f $$exe; \
	    chmod g+s $$exe; \
	done
	for f in $(MAIL_PROGS); \
	do \
	    $(INSTALL_PROGRAM) $$f $(MAILDIR); \
	    chmod g+s $(MAILDIR)/$$f; \
	done
#	@for f in $(ALIAS_PROGS); \
#	do \
#	    $(INSTALL_PROGRAM) $$f $(bindir) ; \
#	done

finish:
	-for f in $(SUID_CGI_PROGS); \
	do \
	    exe=$(CGIDIR)/$$f$(CGIEXT); \
	    chmod u+s $$exe; \
	    chown $(MAILMAN_UID) $$exe; \
	done
#	-for f in $(SUID_MAIL_PROGS); \
#	do \
#	    exe=$(MAILDIR)/$$f; \
#	    chown $(MAILMAN_UID) $$exe; \
#	done

clean:
	-@rm *.o
	-@rm -f $(PROGRAMS)

distclean: clean
	-@rm Makefile
