
CC = gcc
#CFLAGS = -g -Wall
#CFLAGS = -pg -g -Wall # For profiling
CFLAGS = -Wall -O2 -fomit-frame-pointer  # For efficiency
LDFLAGS = -lm 

SOURCES = \
        main.c \
	preprocess.c \
        shared.c \
        kmeans.c \
        copkmeans.c \
        cvqekmeans.c

OBJS = ${SOURCES:.c=.o}

all:	kmeans hierarchical constraints

clobber:	clean
	rm -f kmeans hierarchical constraints

clean:	
	rm -f *.o *~ *.exe gmon.out

kmeans:	$(OBJS)
	$(CC) $(CFLAGS) -o kmeans $(OBJS) $(LDFLAGS)

hierarchical:	hierarchical.o preprocess.o shared.o copkmeans.o

constraints:	constraints.o preprocess.o shared.o

# DO NOT DELETE (from makedepend)
main.o:	constants.h struct_def.h
preprocess.o:	constants.h struct_def.h
shared.o:	constants.h struct_def.h
kmeans.o:	constants.h struct_def.h
copkmeans.o:	constants.h struct_def.h
cvqekmeans.o:	constants.h struct_def.h
hierarchical.o:	constants.h struct_def.h
constraints.o:	constants.h struct_def.h

