# 
# Makefile to automate certain functions
#

SyssummTarball = syssumm.tar
TeamSource = /usr/local/majordomo/lists/syssumm
DevelopersSource = /usr/local/majordomo/lists/syssumm-bugs

# 
# Variables for RebuildManifest
# 
TopLevelDirectoryName = syssumm
ManifestFilename = MANIFEST
TopLevelManifest = CHANGES CHECKSUMS COPYING INSTALL \
	MANIFEST Makefile README distfile.eg startup
# what directories have their own MANIFEST files?
DirectoriesWithManifests = MySQL doc remote web.server
# working file
CurrentManifest = /tmp/new.MANIFEST

# 
# These are the scripts that process the incoming profiles and
# transform them into web pages
# 
RemoteSource = remote
RemoteTarball = remote.tar.gz

# 
# These are the scripts that process the incoming profiles and
# transform them into web pages
# 
WebServerTarball = web.server.tar.gz
WebServerDirectory = web.server
WebServerManifest = ${WebServerDirectory}/MANIFEST

all:	RebuildManifest TouchManifests RebuildCksum BuildTarball

#######################################################################
RebuildManifest:
#	start clean
	>${CurrentManifest}
#	add the top level files
	for File in ${TopLevelManifest}; do \
		echo "${TopLevelDirectoryName}/$$File" >> ${CurrentManifest}; \
	done
#	add the sub-directories with their own MANIFESTs
	for Directory in ${DirectoriesWithManifests}; do \
		if [ -f $$Directory/${ManifestFilename} ]; then \
			for File in `cat $$Directory/${ManifestFilename}`; do \
				echo "${TopLevelDirectoryName}/$$Directory/$$File" >> ${CurrentManifest}; \
			done; \
		else \
			echo "No ${ManifestFilename} in $$Path!"; \
			exit 1; \
		fi; \
	done 
#	now, copy it back to the syssumm directory
	mv ${CurrentManifest} ./${ManifestFilename}

#######################################################################
TouchManifests:
	find . -type f -name MANIFEST -exec touch {} \;

#######################################################################
RebuildCksum:	
	>CHECKSUMS
	cd ..; pwd
	cd ..; for File in `cat ${TopLevelDirectoryName}/${ManifestFilename}`; do \
		cksum $${File} >>${TopLevelDirectoryName}/CHECKSUMS; \
	done

#######################################################################
BuildTarball:
# remove any tarballs of the remote or web.server sub-directories
	rm -f *.gz
# update the TEAM and DEVELOPERS files
	cp ${TeamSource} ./doc/SYSSUMM_TEAM
	cp ${DevelopersSource} ./doc/DEVELOPERS
# jump up one directory, then tar up the source tree and gzip it
	cd .. ; tar cvf ${SyssummTarball} `cat ${TopLevelDirectoryName}/${ManifestFilename}`; gzip ${SyssummTarball}
# move it to the current user's HOME directory
	mv ../${SyssummTarball}.gz ${HOME}

#######################################################################
${RemoteTarball}:	${RemoteSource}
	rm -f ${RemoteTarball}
	tar cvf remote.tar ${RemoteSource}
	gzip remote.tar

#######################################################################
${WebServerTarball}:	${WebServerManifest}
	rm -f ${WebServerTarball}
	tar cvf web.server.tar `cat ${WebServerManifest} | sed -e 's/^/${WebServerDirectory}\//' | grep -v RCS`
	gzip web.server.tar

