### static Makefile for openMosixanalyzer ###
#
#                          Makefile  -  description
#                             -------------------
#    begin                : now
#    copyright            : (C) 2003 by Matt Rechenburg
#    email                : mosixview@t-online.de
# ***************************************************************************
# *                                                                         *
# *   This program is free software; you can redistribute it and/or modify  *
# *   it under the terms of the GNU General Public License as published by  *
# *   the Free Software Foundation; either version 2 of the License, or     *
# *   (at your option) any later version.                                   *
# *                                                                         *
# ***************************************************************************

GCC=c++
TARGET=openmosixanalyzer
OBJECTS=nodeinfo.o clusterinfo.o clustermem.o clusterload.o memanalyzer.o loadanalyzer.o openmosixanalyzerview.o openmosixanalyzerdoc.o openmosixanalyzer.o main.o clusterinfo.moc.o clustermem.moc.o openmosixanalyzerdoc.moc.o clusterload.moc.o openmosixanalyzer.moc.o openmosixanalyzerview.moc.o nodeinfo.moc.o
INCLUDES=-I. -I.. -I$(QTDIR)/include -I/usr/include/qt -I/usr/X11R6/include
CFLAGS=-O2 -O0 -g3 -Wall -fno-exceptions -fno-check-new
LDFLAGS=-L/usr/X11R6/lib -L$(QTDIR)/lib  
LIBS=-lqt -lpng -lz -lm -ljpeg -lSM -lICE -lXext -lX11 -lresolv
LIBSMT=-lqt-mt -lpng -lz -lm -ljpeg -lSM -lICE -lXext -lX11 -lresolv
MOC=$(QTDIR)/bin/moc
MOC1=moc
CP=/bin/cp -f
RM=/bin/rm -f
BINDIR=/usr/bin
INITDIR=/etc/init.d/

all: clean
	$(GCC) $(INCLUDES) $(CFLAGS) -c nodeinfo.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c clusterinfo.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c clustermem.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c memanalyzer.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c clusterload.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c loadanalyzer.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c openmosixanalyzerview.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c openmosixanalyzerdoc.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c openmosixanalyzer.cpp
	$(GCC) $(INCLUDES) $(CFLAGS) -c main.cpp

	if [ -f $(MOC) ]; \
	 then $(MOC) ./nodeinfo.h -o nodeinfo.moc.cpp; \
	 $(MOC) ./clusterinfo.h -o clusterinfo.moc.cpp; \
	 $(MOC) ./clustermem.h -o clustermem.moc.cpp; \
	 $(MOC) ./clusterload.h -o clusterload.moc.cpp; \
	 $(MOC) ./openmosixanalyzerdoc.h -o openmosixanalyzerdoc.moc.cpp; \
	 $(MOC) ./openmosixanalyzerview.h -o openmosixanalyzerview.moc.cpp; \
	 $(MOC) ./openmosixanalyzer.h -o openmosixanalyzer.moc.cpp; \
	 elif [ `which moc` ]; \
	 then $(MOC1) ./nodeinfo.h -o nodeinfo.moc.cpp; \
	 $(MOC1) ./clusterinfo.h -o clusterinfo.moc.cpp; \
	 $(MOC1) ./clustermem.h -o clustermem.moc.cpp; \
	 $(MOC1) ./clusterload.h -o clusterload.moc.cpp; \
	 $(MOC1) ./openmosixanalyzerdoc.h -o openmosixanalyzerdoc.moc.cpp; \
	 $(MOC1) ./openmosixanalyzerview.h -o openmosixanalyzerview.moc.cpp; \
	 $(MOC1) ./openmosixanalyzer.h -o openmosixanalyzer.moc.cpp; \
	 else echo "ERROR: moc qt-compiler not found"; \
	 echo "Please give the correct path to moc in the Makefile"; \
	 exit -1; \
	fi;

	$(GCC) $(INCLUDES) $(CFLAGS) -c nodeinfo.moc.cpp 
	$(GCC) $(INCLUDES) $(CFLAGS) -c clusterinfo.moc.cpp 
	$(GCC) $(INCLUDES) $(CFLAGS) -c clustermem.moc.cpp 
	$(GCC) $(INCLUDES) $(CFLAGS) -c clusterload.moc.cpp 
	$(GCC) $(INCLUDES) $(CFLAGS) -c openmosixanalyzerdoc.moc.cpp 
	$(GCC) $(INCLUDES) $(CFLAGS) -c openmosixanalyzerview.moc.cpp 
	$(GCC) $(INCLUDES) $(CFLAGS) -c openmosixanalyzer.moc.cpp 

	if  $(GCC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS); \
	 then echo "linking with libqt"; \
	 else echo "linking with libqt-mt"; $(GCC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBSMT); \
	fi;

install:
	$(CP) $(TARGET) $(BINDIR)


clean:
	/bin/rm -f *.o
	/bin/rm -f *moc*
	/bin/rm -f $(TARGET)

distclean: clean

uninstall: clean
	$(RM) $(BINDIR)/$(TARGET)



