fbmuck-6.05/auto/
fbmuck-6.05/contrib/jresolver/
fbmuck-6.05/contrib/jresolver/org/
fbmuck-6.05/contrib/jresolver/org/fuzzball/
fbmuck-6.05/docs/devel/
fbmuck-6.05/game/
fbmuck-6.05/game/logs/
fbmuck-6.05/game/muf/
fbmuck-6.05/scripts/
fbmuck-6.05/src_docs/
#!/bin/make -f
# $Header: /cvsroot/fbmuck/fbmuck/Makefile.in,v 1.31 2005/06/13 07:10:26 winged Exp $

subdirs=src
RM=rm -f

SSLTOP=@ssldir@
RPMDIR="/usr/src/RPM/"

all:	Makefile
	for d in ${subdirs}; do \
		cd $${d} && ${MAKE} all; \
	done

install:	Makefile
	for d in ${subdirs}; do \
		cd $${d} && ${MAKE} install; \
	done
	@echo "You can use 'make cert' to generate a self-signed server certificate"
	@echo "for use in allowing secure encrypted SSL connections to your Muck."
	@echo " "

install-sysv-inits:	Makefile
	for d in ${subdirs}; do \
		cd $${d} && ${MAKE} install-sysv-inits; \
	done

cert game/server.pem:
	@if grep "^#define HAVE_LIBSSL" include/autoconf.h > /dev/null; then \
		echo; \
		if [ -r game/data/server.pem ]; then \
			echo "Will not overwrite game/data/server.pem"; \
			echo "Remove that file and do 'make cert' again";\
			echo "to create a new certificate."; \
			echo; \
		else \
			if [ ! -r ${HOME}/.rnd ]; then \
				$(SSLTOP)/bin/openssl rand -rand /etc/hosts:/etc/passwd 0; \
			fi; \
			echo "Creating secure certificate. Please answer all the questions."; \
			echo "The key and certificate will be stored in the game/data/server.pem file."; \
			echo; \
			openssl req -x509 -nodes -out game/data/server.pem -keyout game/data/server.pem -config fuzzball.cnf -new -days 730; \
		fi; \
	fi

clean:
	for d in ${subdirs}; do \
		cd $${d} && ${MAKE} clean; \
	done

cleaner:
	${RM} Makefile config.status config.cache config.log game/restart
	for d in ${subdirs}; do \
		cd $${d} && ${MAKE} cleaner; \
	done

distclean: cleaner

nuke:
	for d in ${subdirs}; do \
		cd $${d} && ${MAKE} nuke; \
	done
	${RM} Makefile config.status config.cache config.log game/restart

Makefile: Makefile.in
	./configure
	@echo Please re-run Make, because the Makefile was re-generated.
	@false

#############################################################
# Packaging stuff.
#

### DESTDIR=/tmp/tmp_fbmuck_pkg
TMPPKGDIR=/tmp/tmp_fbmuck_pkg
TMPREV=/tmp/tmp_fbmuck_rev

help:
	cd src && make prochelp
	cd game/data && ../../src/prochelp mpihelp.raw mpihelp.txt ../../docs/mpihelp.html
	cd game/data && ../../src/prochelp mufman.raw man.txt ../../docs/mufman.html
	cd game/data && ../../src/prochelp muckhelp.raw help.txt ../../docs/muckhelp.html

package: help
	rm -rf ${TMPPKGDIR}
	mkdir ${TMPPKGDIR}
	# cd src && make cleaner
	cp -fp configure Makefile.in fbmuck.spec fuzzball.cnf INSTALLATION README ${TMPPKGDIR}
	ln -s src/CHANGESfb  ${TMPPKGDIR}/CHANGESfb
	ln -s src/CHANGESfb2 ${TMPPKGDIR}/CHANGESfb2
	ln -s src/CHANGESfb3 ${TMPPKGDIR}/CHANGESfb3
	ln -s src/CHANGESfb4 ${TMPPKGDIR}/CHANGESfb4
	ln -s src/CHANGESfb5 ${TMPPKGDIR}/CHANGESfb5
	ln -s src/CHANGESfb6 ${TMPPKGDIR}/CHANGESfb6
	ln -s 'src/==WARNING==' ${TMPPKGDIR}/'==WARNING=='
	cp -fpr docs ${TMPPKGDIR}
	mkdir ${TMPPKGDIR}/contrib
	cp -fpr contrib/jresolver ${TMPPKGDIR}/contrib
	cp -fpr src_docs ${TMPPKGDIR}
	mkdir ${TMPPKGDIR}/include
	cp -fp include/*.h include/*.in ${TMPPKGDIR}/include
	chmod +rw ${TMPPKGDIR}/include/*.h ${TMPPKGDIR}/include/*.in
	mkdir ${TMPPKGDIR}/src
	cp -fp src/*.in src/*.sh src/*.c ${TMPPKGDIR}/src
	cp -fp src/CHANGES* src/*WARN* src/*WOSSM* ${TMPPKGDIR}/src
	cp -fp src/BUG_FORM ${TMPPKGDIR}/src
	cp -fp COMPILING ${TMPPKGDIR}
	cp -fp src/pcre-4.3.tar.gz ${TMPPKGDIR}/src
	chmod +rw ${TMPPKGDIR}/src/*
	chmod +x ${TMPPKGDIR}/configure
	mkdir ${TMPPKGDIR}/auto
	cp -fp auto/config.guess auto/config.sub auto/install-sh ${TMPPKGDIR}/auto
	cp -fp auto/ltmain.sh auto/missing auto/mkinstalldirs ${TMPPKGDIR}/auto
	chmod +x ${TMPPKGDIR}/auto/*
	mkdir ${TMPPKGDIR}/scripts
	cp -fp  scripts/fbmuck-add          ${TMPPKGDIR}/scripts
	cp -fp  scripts/fbmuck-sysvinit     ${TMPPKGDIR}/scripts
	cp -fp  scripts/fbmuck-redhat-init  ${TMPPKGDIR}/scripts
	chmod +x ${TMPPKGDIR}/scripts/*
	mkdir ${TMPPKGDIR}/game
	cp -fp game/restart game/restart.in game/optimdb ${TMPPKGDIR}/game
	mkdir ${TMPPKGDIR}/game/logs
	cp -fp game/logs/README ${TMPPKGDIR}/game/logs
	mkdir ${TMPPKGDIR}/game/muf
	cp -fp game/muf/README ${TMPPKGDIR}/game/muf
	mkdir ${TMPPKGDIR}/game/data
	cp -fp  game/data/README            ${TMPPKGDIR}/game/data
	cp -fp  game/data/*.txt             ${TMPPKGDIR}/game/data
	cp -fp  game/data/*.raw             ${TMPPKGDIR}/game/data
	cp -fp  game/data/minimal.db        ${TMPPKGDIR}/game/data
	cp -fp  game/data/minimal.db.README ${TMPPKGDIR}/game/data
	cp -fpr game/data/man*              ${TMPPKGDIR}/game/data
	cp -fpr game/data/help*             ${TMPPKGDIR}/game/data
	cp -fpr game/data/news*             ${TMPPKGDIR}/game/data
	cp -fpr game/data/info              ${TMPPKGDIR}/game/data
	cp -fpr game/data/mpihelp*          ${TMPPKGDIR}/game/data
	rm -f ${TMPPKGDIR}/game/data/info/CHANGESfb*
	rm -f ${TMPPKGDIR}/game/data/info/changesfb*
	cp -f src/CHANGESfb  ${TMPPKGDIR}/game/data/info/changesfb
	cp -f src/CHANGESfb2 ${TMPPKGDIR}/game/data/info/changesfb2
	cp -f src/CHANGESfb3 ${TMPPKGDIR}/game/data/info/changesfb3
	cp -f src/CHANGESfb4 ${TMPPKGDIR}/game/data/info/changesfb4
	cp -f src/CHANGESfb5 ${TMPPKGDIR}/game/data/info/changesfb5
	cp -f src/CHANGESfb6 ${TMPPKGDIR}/game/data/info/changesfb6
	head -1 `/bin/ls -1d src/CHANGESfb* | sort -nr | head -1` | cut -c6- > ${TMPREV}
	echo '#define VERSION "Muck2.2fb'`cat ${TMPREV}`'"' > ${TMPPKGDIR}/include/version.h
	rm -f ${TMPPKGDIR}/prochelp
	find ${TMPPKGDIR} -type d -name CVS -exec rm -rf {} \; -prune
	mv -f ${TMPPKGDIR} fbmuck-`cat ${TMPREV}`
	rm -f fbmuck-`cat ${TMPREV}`.tar.gz
	tar -cf - fbmuck-`cat ${TMPREV}` | gzip -9 > fbmuck-`cat ${TMPREV}`.tar.gz
	rm -rf fbmuck-`cat ${TMPREV}` ${TMPREV}

rpms: package
	head -1 `/bin/ls -1d src/CHANGESfb* | sort -nr | head -1` | cut -c6- > ${TMPREV}
	rpm -ta --sign --target i386 fbmuck-`cat ${TMPREV}`.tar.gz
	rm -rf ${TMPREV}


# #######################################################################
# #######################################################################

# DO NOT DELETE THIS LINE -- make depend depends on it.