THIS=src
LIBDIR=quatlib
GUIDIR=gui
QTARCH=$(GUIDIR)/qtarch
KDE_DIR=contrib_kde
UTIL_DIR=util
# Use absolute pathnames below! Variables are passed to sub-makes
export INCLUDE_DIR=/usr/local/qt/include
export LIB_DIR=/usr/local/qt/lib
export ZLIB_DIR=/home/dirk/sources/zlib
# specify location of Qt's Meta Object Compiler (moc) here if you want to
# compile xquat. Not required for text only version
export MOC=/usr/local/qt/bin/moc

all: x11ver textver

x11ver:
	cd $(UTIL_DIR); $(MAKE)
	cd $(LIBDIR); $(MAKE) guilib
	cd $(KDE_DIR); $(MAKE)
	cd $(GUIDIR); $(MAKE) -e xquat

textver:
	cd $(LIBDIR); $(MAKE) textver

dosver:
	cd $(LIBDIR); $(MAKE) dosver

winver:
	cd $(UTIL_DIR); $(MAKE)
	cd $(LIBDIR); $(MAKE) winver

archive:
	cd ..; tar cfz $(THIS)/xquat092.tar.gz --exclude=*.moc $(THIS)/Makefile $(THIS)/*.txt $(THIS)/*.mak $(THIS)/$(LIBDIR)/*.c \
$(THIS)/$(LIBDIR)/*.h $(THIS)/$(LIBDIR)/Makefile $(THIS)/$(LIBDIR)/title.png \
$(THIS)/$(LIBDIR)/*.ico $(THIS)/$(LIBDIR)/*.txt $(THIS)/$(LIBDIR)/*.mak $(THIS)/$(LIBDIR)/*.rc $(THIS)/$(LIBDIR)/*.res \
$(THIS)/$(GUIDIR)/*.cpp $(THIS)/$(GUIDIR)/*.h $(THIS)/$(GUIDIR)/Makefile $(THIS)/$(QTARCH)/*.cpp $(THIS)/$(QTARCH)/*.h \
$(THIS)/$(QTARCH)/*.dlg $(THIS)/$(QTARCH)/Makefile $(THIS)/$(KDE_DIR)/*.cpp $(THIS)/$(KDE_DIR)/*.h $(THIS)/$(KDE_DIR)/Makefile \
$(THIS)/$(UTIL_DIR)/Makefile $(THIS)/$(UTIL_DIR)/*.c

clean:
	cd $(LIBDIR); rm -f *~ title.c
	cd $(GUIDIR); rm -f *~ moc_*.cpp 
	cd $(QTARCH); rm -f *~ moc_*.cpp 
	cd $(KDE_DIR); rm -f *~
	cd $(UTIL_DIR); rm -f *~ 

distclean:
	cd $(LIBDIR); rm -f *~ *.o *.a title.c
	cd $(GUIDIR); rm -f *~ *.o moc_* *.moc
	cd $(QTARCH); rm -f *~ *.o moc_* *.moc
	cd $(KDE_DIR); rm -f *~ *.o *.moc
	cd $(UTIL_DIR); rm -f *~ *.o

# Internal use only. Nobody has "repair" or "unrepair"...
ARGA=-exec ../../repair {} {}2 \;
ARGB=-exec rm {} \;
ARGC=-exec mv {}2 {} \;
ARGD=-exec ../../unrepair {} {}2 \;
LF:
	find -iname "*.cpp" $(ARGA) $(ARGB) $(ARGC) 
	find -iname "*.c" $(ARGA) $(ARGB) $(ARGC)
	find -iname "*.h" $(ARGA) $(ARGB) $(ARGC)
	find -iname "*.txt" $(ARGA) $(ARGB) $(ARGC) 
	find -iname "Makefile" $(ARGA) $(ARGB) $(ARGC)
CR:
	find -iname "*.cpp" $(ARGD) $(ARGB) $(ARGC) 
	find -iname "*.c" $(ARGD) $(ARGB) $(ARGC)
	find -iname "*.h" $(ARGD) $(ARGB) $(ARGC)
	find -iname "*.txt" $(ARGD) $(ARGB) $(ARGC) 

