MODULES1 = ../modules/
MODULES2 = ../rls/
OBJECTS = ../modules/
PRGNAME = cbkm
DEPENDS = $(OBJECTS)cb.o         \
          $(OBJECTS)file.o       \
          $(OBJECTS)interfc.o    \
          $(OBJECTS)memctrl.o    \
          $(OBJECTS)random.o     \
          $(OBJECTS)reporting.o  \
          $(OBJECTS)rls.o        \
          $(OBJECTS)kmeans.o

OPT     = -O2 -Wall -lm -I. -I$(MODULES1) -I$(MODULES2)

all: $(PRGNAME)


$(PRGNAME): $(PRGNAME).o $(DEPENDS) 
	gcc -o $(PRGNAME) $(OPT) $(PRGNAME).o $(DEPENDS) 

$(PRGNAME).o: $(PRGNAME).c
	gcc $(OPT) -c $(PRGNAME).c -o $(PRGNAME).o

$(OBJECTS)%.o: %.c
	gcc $(OPT) -c $< -o $@

$(OBJECTS)%.o: $(MODULES1)%.c
	gcc $(OPT) -c $< -o $@

$(OBJECTS)%.o: $(MODULES2)%.c
	gcc $(OPT) -c $< -o $@


.PHONY : clean
clean: 
	rm $(DEPENDS) $(PRGNAME).o

