CC = gcc
CFLAGS = -m64 -ffast-math -fwrapv -fno-omit-frame-pointer -O3 -D SSR -D APPLICATION=KMEANS -g -Wall
LDFLAGS = 

LIBS = -lm -lpthread
TARGET = kmeans
OBJ = 	\
	SSR_lib/VMS/Histogram/Histogram.o \
	SSR_lib/VMS/Histogram/FloatHist.o \
	SSR_lib/VMS/CoreLoop.o \
	SSR_lib/VMS/VMS.o \
	SSR_lib/VMS/MasterLoop.o \
	SSR_lib/VMS/Queue_impl/PrivateQueue.o \
	SSR_lib/VMS/Hash_impl/PrivateHash.o \
	SSR_lib/VMS/DynArray/DynArray.o \
	SSR_lib/SSR_PluginFns.o \
	SSR_lib/SSR_lib.o \
	SSR_lib/VMS/Histogram/DblHist.o \
	SSR_lib/SSR.o \
	SSR_lib/VMS/probes.o \
	SSR_lib/VMS/ProcrContext.o \
	SSR_lib/SSR_Request_Handlers.o \
	SSR_lib/VMS/Hash_impl/MurmurHash2.o \
	SSR_lib/VMS/vmalloc.o \
	SSR_lib/VMS/contextSwitch.o \
	SSR_lib/VMS/Queue_impl/BlockingQueue.o \
	SSR_lib/VMS/vutilities.o \
	wtime.o \
        file_io.o \
	kmeans.o \
	main.o 

all: $(TARGET)

$(TARGET): $(OBJ)
	$(CC) -o $@ $(OBJ) $(LDFLAGS) $(LIBS)
	
%.o : %.c
	$(CC) -c $(CFLAGS) -o $@ $<

clean:
	rm -f $(OBJ) $(TARGET)
