PROJECT = sfm
VERSION = 1.7

DIRS_NODOCS = src RCS
DIRS = $(DIRS_NODOCS) docs
TEXTFILES = BUGS COPYING README TODO Changes sfm-$(VERSION).lsm sfm.1 .sfm-example
TEXTFILES2 = $(TEXTFILES) Makefile
HTMLFILES = $(PROJECT).html sfm-screen-shot-[1-5].gif sfm-logo.gif
TARSOURCE = $(PROJECT)-$(VERSION).src.tgz
STATICBIN = $(PROJECT)-$(VERSION).bin.i386.static.tgz
DYNAMICBIN = $(PROJECT)-$(VERSION).bin.i386.dynamic.tgz
HTMLSITE = $(PROJECT)-html-site.tar

VCFILES = $(TEXTFILES2)
TMPFILES = $(DYNAMICBIN) $(TARSOURCE) $(HTMLFILES)

.PHONY: all depend dep clean docs tar-source static-bin dynamic-bin html-site ci version

default: bin


bin:
	$(MAKE) -C src

static-bin:
	$(MAKE) -C src static
	mkdir -p usr/bin
	cp src/$(PROJECT) .
	mkdir -p usr/man/man1
	gzip -c $(PROJECT).1 > usr/man/man1/$(PROJECT).1.gz
	mkdir -p usr/doc/sfm-$(VERSION)
	cp $(TEXTFILES) usr/doc/sfm-$(VERSION)
	tar cfz $(STATICBIN) usr/
	rm -rf usr

dynamic-bin: docs
	$(MAKE) -C src dynamic
	mkdir -p usr/bin
	cp src/$(PROJECT) usr/bin/
	mkdir -p usr/man/man1
	gzip -c $(PROJECT).1 > usr/man/man1/$(PROJECT).1.gz
	mkdir -p usr/doc/sfm-$(VERSION)
	cp $(TEXTFILES) usr/doc/sfm-$(VERSION)
	tar cfz $(DYNAMICBIN) usr/
	rm -rf usr

clean:
	$(MAKE) -C src clean
	$(MAKE) -C docs clean
	rm -f $(HTMLSITE) $(TMPFILES) *~ 

docs:
	$(MAKE) -C docs docs

tar-source: clean
	cd .. ; tar cfz $(PROJECT)/$(TARSOURCE) $(DIRS_NODOCS:%=$(PROJECT)/%) $(TEXTFILES2:%=$(PROJECT)/%)

html-site: tar-source dynamic-bin docs
	cp $(HTMLFILES:%=docs/%) .
	tar cf $(HTMLSITE) $(TMPFILES)
	rm -f doc

ci:
	$(MAKE) -C src ci
	$(MAKE) -C docs ci
	ci -l -mdefault $(VCFILES)

version:
ifdef V
	$(MAKE) -C src version
	$(MAKE) -C docs version
	rcs -n$(V): $(VCFILES)
else
	@echo "missing option V=<version>"
endif
