# Copyright (C) 1998-2012 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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@
DESTDIR=

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

DEFS=   	@DEFS@
LIBS=		@LIBS@

# user and group ids/names
MAIL_GROUP=     @MAIL_GROUP@
CGI_GROUP=	@CGI_GROUP@
MAILMAN_USER=	@MAILMAN_USER@

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

SHELL=		/bin/sh

MAIL_FLAGS=	-DMAIL_GROUP="\"$(MAIL_GROUP)\""

CGI_FLAGS=	-DCGI_GROUP="\"$(CGI_GROUP)\""

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)
DIRSETGID=	chmod g+s

# Fixed definitions

CGI_PROGS= admindb admin confirm create edithtml listinfo options \
	private rmlist roster subscribe

COMMONOBJS= common.o vsnprintf.o

MAIL_PROGS= mailman

#ALIAS_PROGS= addaliases

SUID_CGI_PROGS= private

SUID_MAIL_PROGS=

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


# Rules

all: $(PROGRAMS)

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

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

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

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

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

install: all
	for f in $(CGI_PROGS); \
	do \
	    exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
	    $(INSTALL_PROGRAM) $$f $$exe; \
	    $(DIRSETGID) $$exe; \
	done
	for f in $(MAIL_PROGS); \
	do \
	    $(INSTALL_PROGRAM) $$f $(DESTDIR)$(MAILDIR); \
	    $(DIRSETGID) $(DESTDIR)$(MAILDIR)/$$f; \
	done

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

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

distclean: clean
	-@rm Makefile
