CXXSOURCES = \
	kmatrix_cfg.C \
	kmatrix.C \
	kmatrix_dlg.C

TARGET = kmatrix.kss

OBJECTS = $(CSOUCRES:.c=.o) $(CXXSOURCES:.C=.o)

IMGS = images
COMMON = saver_common
QT_ADDS = qt_adds
SAVER_LIBS = $(COMMON)/libsvrcmn.a $(QT_ADDS)/libqtadds.a
SUBDIRS = $(COMMON) $(QT_ADDS)

#CONFIG = -DDEBUG_MEM -DHAVE_SETEUID -DHAVE_UNISTD_H -DHAVE_SYSLOG_H -DHAVE_CRYPT_H -DHAVE_PAM -DKDE_PAM_SERVICE -DHAVE_SHADOW
CONFIG = -DHAVE_SETEUID -DHAVE_UNISTD_H -DHAVE_SYSLOG_H -DHAVE_CRYPT_H -DHAVE_PAM -DKDE_PAM_SERVICE -DHAVE_SHADOW
KDEDIR = /usr/local/kde
X11=/usr/X11R6

CC = gcc
CXX = g++
#FLAGS = -pipe -g -Wall $(CONFIG)
FLAGS = -pipe -O2 $(CONFIG) -fno-strength-reduce
CFLAGS =
CXXFLAGS =
INCS = -I$(KDEDIR)/include -I/usr/include/qt -I$(X11)/include -I$(QT_ADDS) -I$(COMMON)
LD = g++
#LDFLAGS = -L$(KDEDIR)/lib -L/usr/X11R6/lib
LDFLAGS = -s -L$(KDEDIR)/lib -L$(X11)/lib
LIBS = -lqt -lcrypt -lkdeui -lkdecore -lXpm -lpam -ldl
AR = ar rc
RANLIB = ar s
MOC = moc

# export everything
export

all: $(TARGET)

$(TARGET): $(OBJECTS) $(SAVER_LIBS)
	@for i in $(SUBDIRS); do make -C $$i ; done
	-rm -f $(TARGET)
	$(LD) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(SAVER_LIBS)

$(COMMON)/libsvrcmn.a:
	make -C $(COMMON)

$(QT_ADDS)/libqtadds.a:
	make -C $(QT_ADDS)

clean:
	-rm -f core $(OBJECTS) *.moc
	(cd $(COMMON) && make clean)
	(cd $(QT_ADDS) && make clean)

clean-all:
	make clean
	-rm -f *~ $(TARGET) $(SAVER_LIBS)

%.o: %.c
	$(CC) $(FLAGS) $(CFLAGS) $(INCS) -c $<

%.o: %.C
	$(CXX) $(FLAGS) $(CXXFLAGS) $(INCS) -c $<

%.moc: %.h
	$(MOC) $*.h -o $*.moc

# dependencies
kmatrix_cfg.o: kmatrix_cfg.h
kmatrix.o: kmatrix.moc kmatrix.h kmatrix_cfg.h kmatrix_dlg.h $(IMGS)/matrix_font.xpm
kmatrix.moc: kmatrix.h
kmatrix_dlg.o: kmatrix_dlg.moc kmatrix_dlg.h
kmatrix_dlg.moc: kmatrix_dlg.h kmatrix_cfg.h
