#!/bin/sh

. ./CONFIG

_MDEST="Makefile" 
VERSION=`cat VERSION`

auto_message()
{
	case $1 in
		-sh)
			REM="#"
			;;
		-c)
			REM="//"
			;;
	esac
	echo "$REM#########################################################"
	echo "$REM -- $2 generated by configure at `date`"
	echo "$REM -- "
	echo "$REM -- faq-system is a small package to maintain a FAQ Database"
	echo "$REM -- Refer to the README file to learn more about it"
	echo "$REM -- You can get the latest version at:"
	echo "$REM -- ftp.daemon.de/pub/cgi/faq/faq-package.tar.gz"
	echo "$REM --"
	echo "$REM -- Version: `cat VERSION`"
	echo "$REM -- Autor: Thomas Linden, tom@daemon.de"
	echo "$REM --"
	echo "$REM -- CopyRight. GPL, that means, you can redistribute, "
	echo "$REM -- or modify this software as you wish."
	echo "$REM -- WARNING:"
	echo "$REM -- You are using this software at your own risk!"
	echo "$REM -- I give absolutely no WARRANTY for the software!"
	echo "$REM -- If you come in trouble - you are at your own!"
	echo "$REM --"
	echo "$REM##########################################################"
}

mk()
{
case $1 in
	faq.conf )
	echo "Create $1..."
	CF="faq.conf"
	auto_message -sh $1 > $CF
	echo "" >> $CF
	echo "<$_DB_NAME>" >> $CF
	echo "	HOST=$_DB_HOST" >> $CF
	echo "	USER=$_DB_USER" >> $CF
	echo "	PASS=$_DB_PASS" >> $CF
	echo "	DATABASE=$_DB_NAME" >> $CF
	echo "	TOPIC=$_DB_TABLE_TOPIC" >> $CF
	echo "	ANSWER=$_DB_TABLE_ANSWER" >> $CF
	echo "	QUESTION=$_DB_TABLE_QUEST" >> $CF
	echo "	FORMAT=$_FULL_FORMAT" >> $CF
	echo "	SCRIPTSUPPORT=off" >> $CF
	echo "	RUN=" >> $CF
	echo "	TXT=" >> $CF
	echo "	NAV=text" >> $CF
	echo "</$_DB_NAME>" >> $CF
	;;
	Makefile )
	echo "Create $1..."
	auto_message -sh $1 > $_MDEST
	echo "CC = $_COMPILER" >> $_MDEST
	echo "CPPFLAGS = -Wall -Wstrict-prototypes" >> $_MDEST
	echo "INCLUDES = -I$_MYSQL_INCLUDES" >> $_MDEST 
	echo "LIBS = -L$_MYSQL_LIBS -lmysqlclient" >> $_MDEST 
	echo "OBJS = database.o index.o question.o topic.o getanswer.o answer.o modify.o search.o delete.o" >> $_MDEST 
	echo "DB = database.o" >> $_MDEST 
	echo "CFLAGS = \$(INCLUDES) \$(CPPFLAGS)" >> $_MDEST 
	echo "LFLAGS = -s \$(CFLAGS)" >> $_MDEST 
	echo "INSTALL = $_INSTALL" >> $_MDEST 
	echo "PREFIX = $_CGI_PATH" >> $_MDEST 
	echo "DBADMIN = $_ADMIN" >> $_MDEST
	echo "HTPPD-PREFIX = $_HTTP_PATH/$_ADMIN" >> $_MDEST 
	echo "HTTPBASE = $_HTTP_PATH" >> $_MDEST
	echo "HTTPD = $_HTTPD_USER" >> $_MDEST
	echo "HTTPD_GROUP = $_HTTPD_GROUP" >> $_MDEST 
	echo "FULL = -D__full" >> $_MDEST
	echo "DIR = faq-system-$VERSION" >> $_MDEST
	case $_KEEP_CONFIG in
		"YES" | "yes")
			echo "FAQCONF =" >> $_MDEST
			;;
		"NO" | "no")
			echo "FAQCONF = faq.conf" >> $_MDEST
			;;
	esac
	cat <<\EOF >> $_MDEST 
all:    .depend $(OBJS)
	$(CC) $(LFLAGS) $(DB) topic.o -o topic.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) question.o -o question.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) answer.o -o answer.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) getanswer.o -o getanswer.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) modify.o -o modify.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) search.o -o search.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) index.o -o index.cgi $(LIBS)
	$(CC) $(LFLAGS) $(DB) delete.o -o delete.cgi $(LIBS)

	@echo -e "\nDone. Type make install.\n"

clean:
	rm -f *.o *~ *.cgi .depend

install:
	$(INSTALL) -d -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) $(PREFIX)
	$(INSTALL) -d -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) $(PREFIX)/$(DBADMIN)
	$(INSTALL) -d -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) $(HTPPD-PREFIX)
	$(INSTALL) -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) getanswer.cgi search.cgi $(PREFIX)
	$(INSTALL) -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) *.cgi $(PREFIX)/$(DBADMIN)
	$(INSTALL) -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) help.html index.html $(FAQCONF) $(HTPPD-PREFIX)
	$(INSTALL) -m 755 -o $(HTTPD) -g $(HTTPD_GROUP) top.gif previous.gif next.gif $(HTTPBASE)

.depend:
#	*.h
	$(CC) $(CFLAGS) -M *.cc > .depend


%.o: %.cc
	$(CC) $(CFLAGS) -c $< -o $@


dist:
	mkdir -p $(DIR)
	cp *.cc *.h *.gif help.html configure faq.* sample.sh CHANGELOG AUTOR README INSTALL COPYING VERSION $(DIR)
	cp CONFIG.default $(DIR)/CONFIG
	rm $(DIR)/faq.conf*
	tar czp -f $(DIR).tar.gz $(DIR)
	rm -f /home/ftp/pub/cgi/faq-system.tar.gz
	cp $(DIR).tar.gz /home/ftp/pub/cgi/

ifeq (.depend,$(wildcard .depend))
include .depend
endif         
EOF
	;;
	conf.h )
	echo "Create $1..."
	auto_message -c $1 > conf.h
	echo "#include <string>" >> conf.h
	echo "#include <fstream>" >> conf.h
	echo "#include <iostream.h>" >> conf.h
	echo "#include <stdio.h>" >> conf.h
	echo "#include <stdlib.h>" >> conf.h
	echo "#include <unistd.h>" >> conf.h
	echo "#include \"database.h\"" >> conf.h
	echo "#include \"cgi.h\"" >> conf.h
	echo "#include \"html.h\"" >> conf.h 
	echo "#define URL             \"$_CGI_BASE_URL\"" >> conf.h
	echo "#define ADMIN           \"$_ADMIN\"" >> conf.h
	echo "#define HTTP_BASE	\"$_HTTP_BASE_URL\"" >> conf.h		
	echo "#define PATH		\"$_HTTP_PATH\"" >> conf.h
	echo "#define DBADMIN_EMAIL	\"$_DB_ADMIN_EMAIL\"" >> conf.h
	echo "#define ME	\"$_HTTPD_USER\"" >> conf.h
	echo "#define __$_FULL_FORMAT" >> conf.h
	echo "#define HEADER	\"$_HEADER\"" >> conf.h
	echo "#define FOOTER	\"$_FOOTER\"" >> conf.h
	echo "#define VERSION	\"$VERSION\"" >> conf.h
	echo "#define AUTOR	\"`cat AUTOR | awk 'BEGIN{FS=","}{print $1}'`\"" >> conf.h
	echo "#define AUTOR_MAIL \"`cat AUTOR | awk 'BEGIN{FS=","}{print $2}'`\"" >> conf.h
	echo "#include \"config.h\"" >> conf.h
	;; 
	index.html )
	echo "Create $1..."
	echo "<html>" > $1
	echo "<body bgcolor=\"#ffffff\">" >> $1
	echo "<title>Database Select</title>" >> $1 
	echo "<h2>Database Select</h2>" >> $1
	echo "<form name=init action=\"$_CGI_BASE_URL/$_ADMIN/index.cgi\" method=post>" >> $1
	echo "database instance name:" >> $1
	echo "<input type=text name=instance value=\"\">" >> $1
	echo "<input type=submit name=submit value=select>" >> $1
	echo "</form>" >> $1
	echo "</body>" >> $1
	echo "</html>" >> $1	
	;;
esac
}

mk Makefile
mk conf.h
mk faq.conf
mk index.html
echo "configure has finished, type \"make\" to start compiling."
echo
exit 0 
