CXX	= g++
RM	= rm -f
RMDIR	= rmdir
CSRC	= io_png.c
CXXSRC	= libsegmentation.cpp libdenoising.cpp lib.cpp BSDEseg.cpp
COBJ	= $(CSRC:.c=.o)
CXXOBJ	= $(CXXSRC:.cpp=.o)
OBJ     = $(COBJ) $(CXXOBJ)
CXXOPT  = -O3
LDLIBS  = -lpng
CXXFLAGS= -std=c++0x -fopenmp -Wall
BIN	= BSDEseg
DIR	= ./out_images
DIRM	= ./out_med_images

delault: $(BIN)

$(BIN): $(OBJ)
	$(CXX) $(OBJ) -o $@ $(CXXFLAGS) $(LDLIBS) $(CXXOPT)

%.o: %.cpp
	$(CXX) -c -o $@ $< $(CXXFLAGS) $(CXXOPT)

%.o: %.c
	$(CXX) -c -o $@ $< $(CXXFLAGS) $(CXXOPT)
clean:
	$(RM) $(OBJ)

distclean: clean
	$(RM) $(BIN) $(DIR)/*.png $(DIRM)/*.png
	$(RMDIR) $(DIR) $(DIRM)

tests: $(BIN)
	./demo.sh
