INSTALL_PREFIX = /usr/local
CC = g++
QTDIR = /usr/lib/qt
LIBS = -L/usr/local/lib -L$(QTDIR)/lib -L/usr/X11R6/lib
INCLUDES = -I/usr/include -I/usr/local/include -I$(QTDIR)/include
OPTIONS  = -c -pipe -Wall -W -O2 -DQT_NO_DEBUG
MOC = $(QTDIR)/bin/moc
UIC = $(QTDIR)/bin/uic
COPY     = cp -f
COPY_FILE= $(COPY)
COPY_DIR = $(COPY) -r
INSTALL_FILE= $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = rm -f
SYMLINK  = ln -sf
DEL_DIR  = rmdir
MOVE     = mv -f
CHK_DIR_EXISTS= test -d
MKDIR    = mkdir -p
DEL_REC = rm -rf
SED     = sed


compile:
	$(UIC) abform.ui -o abform.h
	$(UIC) addabentryform.ui -o addabentryform.h
	$(UIC) editabentryform.ui -o editabentryform.h
	$(UIC) gnuform.ui -o gnuform.h
	$(UIC) helpform.ui -o helpform.h
	$(UIC) mainform.ui -o mainform.h
	$(UIC) modemform.ui -o modemform.h
	$(UIC) modemsettingsform.ui -o modemsettingsform.h
	$(UIC) smsform.ui -o smsform.h
	$(UIC) todoform.ui -o todoform.h
	$(UIC) settingsform.ui -o settingsform.h
	$(UIC) identifyform.ui -o identifyform.h
	$(CC) $(OPTIONS) $(INCLUDES) -o main.o main.cc
	$(UIC) abform.ui -i abform.h -o abform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o abform.o abform.cpp
	$(UIC) addabentryform.ui -i addabentryform.h -o addabentryform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o addabentryform.o addabentryform.cpp
	$(UIC) editabentryform.ui -i editabentryform.h -o editabentryform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o editabentryform.o editabentryform.cpp
	$(UIC) gnuform.ui -i gnuform.h -o gnuform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o gnuform.o gnuform.cpp
	$(UIC) helpform.ui -i helpform.h -o helpform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o helpform.o helpform.cpp
	$(UIC) mainform.ui -i mainform.h -o mainform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o mainform.o mainform.cpp
	$(UIC) modemform.ui -i modemform.h -o modemform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o modemform.o modemform.cpp
	$(UIC) modemsettingsform.ui -i modemsettingsform.h -o modemsettingsform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o modemsettingsform.o modemsettingsform.cpp
	$(UIC) smsform.ui -i smsform.h -o smsform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o smsform.o smsform.cpp
	$(UIC) todoform.ui -i todoform.h -o todoform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o todoform.o todoform.cpp
	$(UIC) settingsform.ui -i settingsform.h -o settingsform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o settingsform.o settingsform.cpp
	$(UIC) identifyform.ui -i identifyform.h -o identifyform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o identifyform.o identifyform.cpp
	$(MOC) abform.h -o moc_abform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_abform.o moc_abform.cpp
	$(MOC) addabentryform.h -o moc_addabentryform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_addabentryform.o moc_addabentryform.cpp
	$(MOC) editabentryform.h -o moc_editabentryform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_editabentryform.o moc_editabentryform.cpp
	$(MOC) gnuform.h -o moc_gnuform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_gnuform.o moc_gnuform.cpp
	$(MOC) helpform.h -o moc_helpform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_helpform.o moc_helpform.cpp
	$(MOC) mainform.h -o moc_mainform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_mainform.o moc_mainform.cpp
	$(MOC) modemform.h -o moc_modemform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_modemform.o moc_modemform.cpp
	$(MOC) modemsettingsform.h -o moc_modemsettingsform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_modemsettingsform.o moc_modemsettingsform.cpp
	$(MOC) smsform.h -o moc_smsform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_smsform.o moc_smsform.cpp
	$(MOC) todoform.h -o moc_todoform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_todoform.o moc_todoform.cpp
	$(MOC) settingsform.h -o moc_settingsform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_settingsform.o moc_settingsform.cpp
	$(MOC) identifyform.h -o moc_identifyform.cpp
	$(CC) $(OPTIONS) $(INCLUDES) -o moc_identifyform.o moc_identifyform.cpp
	$(CC) -o qgnokii main.o abform.o addabentryform.o gnuform.o helpform.o mainform.o modemform.o modemsettingsform.o smsform.o todoform.o editabentryform.o settingsform.o identifyform.o moc_abform.o moc_addabentryform.o moc_gnuform.o moc_helpform.o moc_mainform.o moc_modemform.o moc_modemsettingsform.o moc_smsform.o moc_todoform.o moc_editabentryform.o moc_settingsform.o moc_identifyform.o $(LIBS) -lqt-mt -lXext -lX11 -lm -lpthread

	gcc qgnokiid.c -o qgnokiid -lgnokii

clean:
	$(DEL_FILE) qgnokii
	$(DEL_FILE) qgnokiid
	$(DEL_FILE) *.o
	$(DEL_FILE) *.cpp
	$(DEL_FILE) *form.h
install:
	$(INSTALL_FILE) qgnokii $(INSTALL_PREFIX)/bin/
	$(INSTALL_FILE) qgnokiid $(INSTALL_PREFIX)/bin/
	$(MKDIR) $(INSTALL_PREFIX)/share/qgnokii
	$(INSTALL_FILE) LICENSE $(INSTALL_PREFIX)/share/qgnokii/
	$(INSTALL_FILE) helpfile $(INSTALL_PREFIX)/share/qgnokii/
	echo "export QGNOKII_PREFIX=$(INSTALL_PREFIX)" >> /etc/profile
	. /etc/profile

uninstall:
	$(DEL_REC) $(INSTALL_PREFIX)/share/qgnokii/
	$(DEL_FILE) $(INSTALL_PREFIX)/bin/qgnokii
	$(DEL_FILE) $(INSTALL_PREFIX)/bin/qgnokiid
	$(SED) 's/export QGNOKII_PREFIX.*//' /etc/profile | sed -e '/^$$/d' > /tmp/qgprofile
	$(DEL_FILE) /etc/profile
	$(COPY_FILE) /tmp/qgprofile /etc/profile

