#
#	Make distribution
#


all:

VERSION := $(shell cat Sketch/VERSION)

DIST_BASENAME = skencil-$(VERSION)

DIST_TAR = $(DIST_BASENAME).tar.gz

DISTBASEDIR = dist
DISTDIR = $(DISTBASEDIR)/$(DIST_BASENAME)

FILES = \
	README INSTALL NEWS COPYING TODO PROJECTS BUGS CREDITS FAQ \
	skencil.py sk2ps.py skshow.py skconvert.py sk2ppm.py \
	finishinst.py setup.py skencil.spec \
	Examples/* \
	Tools/* \
	Pax/X.py Pax/README Pax/COPYING{,.xext} \
	Misc/README Misc/Symbolgroup/{README,*.sk} Misc/magic \
	Filter/{README,COPYING} \
	Plugins/ChangeLog \
	Sketch/VERSION \
	Sketch/Pixmaps/*.{xbm,gif} Sketch/Pixmaps/New12/*.xbm \
	Resources/Fontmetrics/* \
	Resources/Misc/* \
	Resources/Messages/*/*/*.mo \
	Doc/Makefile \
	Doc/{dev,users}guide/*.xml \
	Doc/{dev,users}guide/html/*.html \
	Doc/usersguide/{html/,}Images/*.png \
	po/*.po po/skencil.pot po/{Makefile,README}

PY_DIRS = Sketch/{,Base,UI,Graphics,Lib,Scripting} Script/ Pax/Generate \
	Misc/{,Symbolgroup}
PY_DIRS_RECURSIVE = Plugins/
C_DIRS = Pax Sketch/Modules Filter

CP = cp -l --parents

skencil.spec: skencil.spec.in Sketch/VERSION
	rm -f skencil.spec
	sed -e 's/@VERSION@/$(VERSION)/' < skencil.spec.in > skencil.spec

doc:
	$(MAKE) -C Doc

messages:
	$(MAKE) -C po mo

dist: skencil.spec doc messages
	rm -rf $(DISTDIR)/*
	test -e $(DISTBASEDIR) || mkdir $(DISTBASEDIR)
	test -e $(DISTDIR) || mkdir $(DISTDIR)
	$(CP) $(FILES) $(DISTDIR)
	for dir in $(PY_DIRS); do \
		$(CP) $$dir/*.py $(DISTDIR); \
	done 
	for dir in $(PY_DIRS_RECURSIVE); do \
		find $$dir -name '*.py' \
			-exec cp --parents -p '{}' $(DISTDIR) ';' ; \
	done 
	for dir in $(C_DIRS); do \
		$(CP) $$dir/*.{c,h,in} $(DISTDIR); \
		if [ -f $$dir/Setup.config ]; then \
			$(CP) $$dir/Setup.config $(DISTDIR); \
		fi \
	done 
	rm -f `find $(DISTDIR) -name config.c`
	(cd $(DISTBASEDIR); tar cvzf $(DIST_TAR) $(DIST_BASENAME))

