CC=g++ -g
GPPFLAGS=-I/usr/include/libxml2 
LDFLAGS=-L/usr/lib -lxml2 -lz -lpthread -lm
OBJECT_FILES=masterInterface.o  ConfigFileParser.o Globals.o listener.o osInteractor.o communicator.o  Timer.o Profiler.o


all: libProfiler.a

libProfiler.a: $(OBJECT_FILES)
	ar rvs libProfiler.a $(OBJECT_FILES)

#autoProfiler: $(OBJECT_FILES) autoProfiler.cpp Common.h
#	$(CC) $(GPPFLAGS) $(LDFLAGS) -o autoProfiler autoProfiler.cpp $(OBJECT_FILES)

#debug: $(OBJECT_FILES) autoProfiler.cpp autoProfiler.hpp Common.h
#	$(CC) $(GPPFLAGS) -g $(LDFLAGS) -o autoProfiler autoProfiler.cpp $(OBJECT_FILES)

Profiler.o: Profiler.cpp Profiler.h Common.h
	$(CC) $(GPPFLAGS) -c Profiler.cpp

#cmdLineParser.o: cmdLineParser.cpp Common.h
#	$(CC) $(GPPFLAGS) -c cmdLineParser.cpp


ConfigFileParser.o: ConfigFileParser.cpp Common.h
	$(CC) $(GPPFLAGS) -c ConfigFileParser.cpp
	
Globals.o: Globals.cpp Common.h
	$(CC) $(GPPFLAGS) -c Globals.cpp

listener.o: listener.cpp Common.h communicator.hpp
	$(CC) $(GPPFLAGS) -c listener.cpp

osInteractor.o: osInteractor.cpp Common.h
	$(CC) $(GPPFLAGS) -c osInteractor.cpp

communicator.o: communicator.cpp Common.h communicator.hpp
	$(CC) $(GPPFLAGS) -c communicator.cpp



masterInterface.o: masterInterface.cpp Common.h Globals.cpp
	$(CC) $(GPPFLAGS) -c masterInterface.cpp

#HTTPInteractor.o: HTTPInteractor.cpp Common.h Globals.cpp
#	$(CC) $(GPPFLAGS) -c HTTPInteractor.cpp


#TCPConnection.o: TCPConnection.cpp Common.h Globals.cpp
#	$(CC) $(GPPFLAGS) -c TCPConnection.cpp

Timer.o: Timer.cpp Common.h Globals.cpp
	$(CC) $(GPPFLAGS) -c Timer.cpp


clean:
	rm -rf *.o libProfiler.a
