CXX= g++
DEBUG:= no
CXXFLAGS+= -DQT_THREAD_SUPPORT
MAKEFLAGS+= --no-print-directory
ifeq ($(DEBUG), yes)
	CXXFLAGS+= -Wall -ggdb
else
	CXXFLAGS+= -O3 
endif

QTDIR2= /usr/lib/qt3
MOC= $(QTDIR2)/bin/moc
INC= -I$(QTDIR2)/include
LIB= -L$(QTDIR2)/lib -lqt-mt -lm
OBJ_LIB = image.o fonction.o region.o
OBJET = TraitThread.o histopop.o original.o main_win.o qmake_image_collection.o dialog.o main.o

SRC_MOC= histopop.cpp dialog.cpp original.cpp main_win.cpp

.PHONY: all clean distclean depend unmoc_ var

all: var TI_projet

include depend.txt

TI_projet : $(OBJET) libimage.a
	$(CXX) $(CXXFLAGS) $(LIB) $(OBJET)  libimage.a -o $@

var:
	@echo "CXX= $(CXX)";
	@echo "DEBUG= $(DEBUG)";
	@echo "CXXFLAGS= $(CXXFLAGS)";
	@echo "MAKEFLAGS= $(MAKEFLAGS)";
	@echo "MOC= $(MOC)";
	@echo "INC= $(INC)";
	@echo "LIB= $(LIB)";
	@echo;

unmoc_:
	@for i in $(SRC_MOC) ;\
	do \
	if grep -q moc_$$i $$i ;\
	then \
	cat $$i | sed -e '/^#include "moc_/d' >$$i.new; \
	mv $$i.new $$i; \
	echo "#include \"moc_$$i\" suppressed from $i"; \
	else \
	echo ""; \
	fi; \
	done

libimage.a: $(OBJ_LIB)
	@ar ru libimage.a $(OBJ_LIB)
	@echo "AR libimage.a"
	@ranlib libimage.a

.SUFFIXES: .cpp .cc .o

.cpp.o:
	@if echo $(SRC_MOC)|grep -q $*.cpp ;\
	then \
	if grep -q moc_$*.cpp $*.cpp ;\
	then \
	echo -n ""; \
	else \
	echo "#include \"moc_$*.cpp\"" >> $*.cpp; \
	fi ;\
	fi 
	@if test -f $*.h && grep -q Q_OBJECT $*.h ;\
	then \
	echo "MOC $*.h"; \
	$(MOC)  -o moc_$*.cpp $*.h; \
	echo "CXX CXXFLAGS INC $*.cpp"; \
	$(CXX) $(CXXFLAGS) $(INC) -c $*.cpp; \
	> moc_$*.cpp; \
	else \
	echo "CXX CXXFLAGS INC $*.cpp"; \
	$(CXX) $(CXXFLAGS) $(INC) -c $*.cpp; \
	fi

.cc.o:
	@if test -f $*.h && grep -q Q_OBJECT $*.h ;\
	then \
	echo "MOC $*.h"; \
	$(MOC)  -o moc_$*.cc $*.h; \
	fi
	@echo "CXX CXXFLAGS INC $*.cc"; 
	@$(CXX) $(CXXFLAGS) $(INC) -c $*.cc; 
	@> moc_$*.cc;

clean:
	rm -f *.o
	make unmoc_

distclean: clean
	rm -f main

depend:
	$(CXX) $(INC) -MM *.cpp >depend.txt

