############################################################################
#
# root makefile for DX fractal landscape library (see README for more info)
#
############################################################################

# library directories
LIBDIRS = common adt math pnm++ render fractal dx++

# files to go into fractal.tar.gz
TAR_FILES = $(LIBDIRS:%=%/*.[ch]) */Makefile dx++/*.mdf lib/make.init \
	    Makefile README doc pics bin examples

# miscellaneous files
OLIBS = $(LIBDIRS:%=%.lib)
CLEAN = $(LIBDIRS:%=%/clean)
CLEAN_FILES = lib/*.o lib/*~ */*~

include ./lib/make.init

#
# targets
#
all:	include $(OLIBS) dxmodules

dxmodules:
	cd dx++; $(MAKE) $(DXTARGET)

%.lib:
	cd $*; $(MAKE) $*.olib

include:
	mkdir include
	cd include; ln -s ../adt/hash.c .
	cd include; ln -s ../adt/Vector.c .
	cd include; for i in $(LIBDIRS); do ln -s ../$$i/*.h .; done

#
# make a .tar file including all necessary source and documentation
#
fractal.tar:
	tar cf fractal.tar $(TAR_FILES)

clean:	$(CLEAN) very.clean
	rm -rf include
