# get user and architecture specific options
OS := $(shell uname -s)
TORCHDIR := $(shell cd ..; pwd)
include ../Makefile_options_$(OS)

INC = $(INCS)
      
OBJS_DIR := ./objs
CC_FILES := $(wildcard *.cc)
OBJS := $(foreach f,$(CC_FILES),$(OBJS_DIR)/$(patsubst %.cc,%.o,$(f)))

CURRENT_LIB := $(LIBS_DIR)/libimage_processing.a

# stuff for opencv
H = /usr/local
I = -I$H/include
INCS += $I

LIBS += -lopencv -lhighgui -lm

########################################
all:  $(OBJS)
	@echo "Finished..."
#	@$(AR) $(CURRENT_LIB) $(OBJS)

#%.exe : $(OBJS)
%.exe : $(OBJS_DIR)/%.o
	cd ..; ${MAKE}
	mkdir -p $(VERSION_KEY)
#	$(CC) $(CFLAGS_$(MODE)) $(INCS) -o $(VERSION_KEY)/$@ $(OBJS) $(LIBS)
	$(CC) $(CFLAGS_$(MODE)) $(INCS) -o $(VERSION_KEY)/$@ $< $(LIBS)

$(OBJS_DIR)/%.o: %.cc
	@echo $<
	@$(CC) $(CFLAGS_$(MODE)) $(INC) -o $@ -c $<

distclean:
	@\rm -f .deps_*

clean:
	@echo "Remove objects file and dependencies..."
#	@\rm -Rf $(OBJS) $(CURRENT_LIB)	
	@\rm -Rf $(OBJS) 
	@\rm  -f *~
	@\rm -f .deps_$(VERSION_KEY)

depend:
	@echo "Tracking dependencies..."
	@\mkdir -p $(OBJS_DIR)
	@\rm -f .deps_$(VERSION_KEY)
	@for file in *.cc ; do printf "$(OBJS_DIR)/" >> .deps_$(VERSION_KEY); $(DEP) $(CFLAGS_$(MODE)) $(INCS) $$file >> .deps_$(VERSION_KEY); done

.deps_$(VERSION_KEY):
	@echo ">>> Please do a 'make depend' <<<"
	exit 10

ifneq ($(MAKECMDGOALS),distclean)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),depend)
include .deps_$(VERSION_KEY)
endif
endif
endif
