#
# $Id: Makefile,v 0.41 1996/01/05 08:20:50 steppler Exp $
#
# CNCL top-level Makefile
#

DIRS	= bin lib doc/info

FILES	= COPYING COPYING.LIB CREDIT Makefile README cncl.lsm config.h \
		make.common make.conf.LINUX make.conf.LINUX-gcc-2.5 \
		make.conf.SOLARIS make.conf.SUN make.subdirs \
		make.conf.HPUX ChangeLog NEWS

all clean veryclean distclean templates depend tests install::
	for d in $(DIRS); do \
	    if [ -d $$d ]; then (cd $$d && echo $$d && $(MAKE) $@) || exit;fi;\
	done

clean veryclean distclean::
	for d in examples; do \
	    if [ -d $$d ]; then (cd $$d && echo $$d && $(MAKE) $@) || exit;fi;\
	done

sub-tar-rev::
	for d in $(DIRS) examples; do \
	    if [ -d $$d ]; then \
		(cd $$d && echo $$d && $(MAKE) CUR_DIR=$(CUR_DIR)/$$d $@) \
			|| exit; \
	    fi; \
	done

sub-tar-rev::
	for f in $(FILES); do \
	    if [ -f $$f ]; then \
		(cd .. && tar uf cncl-$(REVISION).tar cncl-$(REVISION)/$$f) \
			|| exit; \
	    fi; \
	done

links::
	-mkdir include
	-mkdir include/CNCL
	cd include/CNCL; ln -sf ../../config.h config.h
	for d in lib; do \
	    if [ -d $$d ]; then \
		(cd $$d && echo $$d && $(MAKE) CUR_DIR=$(CUR_DIR)/$$d $@) \
			|| exit; \
	    fi; \
	done

clean veryclean distclean::
	rm -f core *.o *~ *.bak make.log

veryclean distclean::
	rm -rf include

distclean::
	rm -f .depend

World:
	bin/newdepend
	$(MAKE) clean
	$(MAKE) links
	$(MAKE) depend
	$(MAKE) all

NewWorld:
	bin/newdepend
	$(MAKE) veryclean
	$(MAKE) templates
	$(MAKE) links
	$(MAKE) depend
	$(MAKE) all

HyperWorld:
	$(MAKE) distclean
	bin/newdepend
	$(MAKE) templates
	$(MAKE) links
	$(MAKE) depend
	$(MAKE) all
	mv lib/libcncl.a lib/libcncl_g.a
	cd lib; $(MAKE) clean lib_o
	cd lib; $(MAKE) clean lib_p

WorldND:
	bin/newdepend
	$(MAKE) clean
	$(MAKE) links
	$(MAKE) all

NewWorldND:
	bin/newdepend
	$(MAKE) veryclean
	$(MAKE) templates
	$(MAKE) links
	$(MAKE) all

Examples:
	(cd examples; $(MAKE) World)

HIERARCHY:
	./bin/CNhier include/CNCL/*.h >HIERARCHY	

tar-rev:
	@if [ "$(REVISION)" = "" ]; then \
		echo "usage: make REVISION=x.x tar-rev"; exit; \
	else \
		$(MAKE) sub-tar-rev; \
		cd ..; \
		gzip cncl-$(REVISION).tar; \
	fi

tar-doc:
	@if [ "$(REVISION)" = "" ]; then \
		echo "usage: make REVISION=x.x tar-doc"; exit; \
	else \
		cd ..; \
		tar uf cncl-$(REVISION)-doc.tar \
			cncl-$(REVISION)/doc/info/cncl.info* \
			cncl-$(REVISION)/doc/dvi/cncl.dvi \
			cncl-$(REVISION)/doc/ps/cncl.ps \
			cncl-$(REVISION)/doc/html/*.html \
			cncl-$(REVISION)/README.DOC; \
		gzip cncl-$(REVISION)-doc.tar; \
	fi
