CC=gcc
CFLAGS= -Wall -O6
LIBS= -lm 

all: main graphclustAntipole graphclustAntipole_Subdue graphclustKmeans graphclustKmeans_Subdue java commands


#--- main.c -------------------------------------
main: main.c
	$(CC) $(CFLAGS) main.c -o graphclust_main
#------------------------------------------------	



#--- graphclustAntipole	-------------------------
graphclustAntipole: Antipole.o loadAntipole.o BuildAntipole.o matrix.o parser.o print.o printAntipole.o
	$(CC) $(CFLAGS) Antipole.o loadAntipole.o BuildAntipole.o matrix.o parser.o print.o printAntipole.o -o graphclustAntipole $(LIBS)
Antipole.o: Antipole.c structAntipole.h 
	$(CC) $(CFLAGS) -c Antipole.c
loadAntipole.o: loadAntipole.c structAntipole.h 
	$(CC) $(CFLAGS) -c loadAntipole.c
BuildAntipole.o: BuildAntipole.c structAntipole.h 
	$(CC) $(CFLAGS) -c BuildAntipole.c
matrix.o:
	$(CC) $(CFLAGS) -c matrix.c -o matrix.o
parser.o:
	$(CC) $(CFLAGS) -c parser.c -o parser.o
print.o:
	$(CC) $(CFLAGS) -c print.c -o print.o
printAntipole.o:
	$(CC) $(CFLAGS) -c printAntipole.c -o printAntipole.o
#------------------------------------------------	



#--- graphclustAntipole_Subdue ------------------
graphclustAntipole_Subdue: Antipole_Subdue.o loadAntipole.o BuildAntipole.o matrix.o parser.o print.o printAntipole.o
	$(CC) $(CFLAGS) Antipole_Subdue.o loadAntipole.o BuildAntipole.o matrix.o parser.o print.o printAntipole.o -o graphclustAntipole_Subdue $(LIBS)
Antipole_Subdue.o: Antipole_Subdue.c structAntipole.h 
	$(CC) $(CFLAGS) -c Antipole_Subdue.c
#------------------------------------------------	



#--- graphclustKmeans ---------------------------
graphclustKmeans: Kmeans.o loadKmeans.o BuildKmeans.o matrix.o parser.o print.o printKmeans.o
	$(CC) $(CFLAGS) Kmeans.o loadKmeans.o BuildKmeans.o matrix.o parser.o print.o printKmeans.o -o graphclustKmeans $(LIBS)
Kmeans.o: Kmeans.c structKmeans.h
	$(CC) $(CFLAGS) -c Kmeans.c
loadKmeans.o: loadKmeans.c structKmeans.h 
	$(CC) $(CFLAGS) -c loadKmeans.c
BuildKmeans.o: BuildKmeans.c structKmeans.h 
	$(CC) $(CFLAGS) -c BuildKmeans.c
printKmeans.o:
	$(CC) $(CFLAGS) -c printKmeans.c -o printKmeans.o
#------------------------------------------------



#--- graphclustKmeans_Sudbue ---------------------------
graphclustKmeans_Subdue: Kmeans_Subdue.o loadKmeans.o BuildKmeans.o matrix.o parser.o print.o printKmeans.o
	$(CC) $(CFLAGS) Kmeans_Subdue.o loadKmeans.o BuildKmeans.o matrix.o parser.o print.o printKmeans.o -o graphclustKmeans_Subdue $(LIBS)
Kmeans_Subdue.o: Kmeans_Subdue.c structKmeans.h
	$(CC) $(CFLAGS) -c Kmeans_Subdue.c
#------------------------------------------------



#--- JAVA -----------------------------------------------
java:
	javac correlation.java
#------------------------------------------------



#--- Commands -----------------------------------
commands:	
	mv graphclustAntipole ../
	mv graphclustAntipole_Subdue ../
	mv graphclustKmeans ../
	mv graphclustKmeans_Subdue ../
	mv graphclust_main ../
	mv *.class ../
#------------------------------------------------	



#--- clean --------------------------------------
clean:
	rm -f *.o ../graphclustAntipole ../graphclustAntipole_Subdue ../graphclust_main ../graphclustKmeans ../graphclustKmeans_Subdue ../*.class
clean_old:
	rm -f *~
#------------------------------------------------	
