####### Compiler, tools and options

INCPATH  = -I. -Icolorwidget -Itriplecolorwidget -Iglpreview -Iprogressdialog \
		-I../raytracing -I.. -I/usr/include/qt3
CXXFLAGS = -pipe -Wall -W -O2 -fPIC                                           \
		-DLINUX -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT         \
		$(INCPATH)
LIBS     = -L$(QTDIR)/lib -lGL -lGLU -lqt-mt




####### Files

HEADERS = colorwidget/CColorWidget.h                         \
		triplecolorwidget/CTripleColorWidget.h       \
		glpreview/CGLPreview.h                       \
		../raytracing/CColor.h                       \
		../raytracing/CImage.h                       \
		../raytracing/CMathExpression.h              \
		../raytracing/CRenderObj.h                   \
		../raytracing/CVectBase.h                    \
		../raytracing/CVector3f.h                    \
		../raytracing/compute.h                      \
		progressdialog/CProgressDialog.h             \
		progressdialog/CRunThread.h

SOURCES = colorwidget/CColorWidget.cpp                       \
		triplecolorwidget/CTripleColorWidget.cpp     \
		glpreview/CGLPreview.cpp                     \
		progressdialog/CProgressDialog.cpp           \
		progressdialog/CRunThread.cpp                \
		StartGui.cpp

OBJECTS = $(SOURCES:.cpp=.o)

FORMS = settingsform.ui
UICDECLS = $(FORMS:.ui=.h)
UICIMPLS = $(FORMS:.ui=.cpp)
OBJUIC = $(FORMS:.ui=.o)

SRCMOC   = colorwidget/CColorWidget.moc.cpp                  \
		triplecolorwidget/CTripleColorWidget.moc.cpp \
		glpreview/CGLPreview.moc.cpp                 \
		progressdialog/CProgressDialog.moc.cpp       \
		settingsform.moc.cpp

OBJMOC = $(SRCMOC:.cpp=.o)

TARGET = libraygui.so.1




####### Rules

$(TARGET) : $(OBJECTS) $(OBJMOC) $(OBJUIC)
	$(LINK.cpp) -shared -Wl,-soname,$(TARGET) -o $(TARGET) $+ $(LIBS)

.PHONY : clean
clean :
	rm -f $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(OBJUIC) $(OBJECTS)
	find . -name \*~ -o -name \*.d | xargs rm -f


%.h : %.ui
	uic $< -o $@

%.cpp : %.h %.ui
	uic $*.ui -i $*.h -o $@

%.moc.cpp : %.h
	moc $< -o $@




####### Dependencies of the source files
%.d : %.cpp
	@$(CXX) $(CXXFLAGS) -c $< -MM | sed 's/\(.*\)\.o[ :]*/\1.o \1.d : /g' > $@;
-include $(SRCMOC:.cpp=.d) $(SOURCES:.cpp=.d) $(UICIMPLS:.cpp=.d)
