CXX	 = g++
CC	 = g++
LINK	 = g++
INC	 = -Iinclude -I/usr/include/SDL
#-Iinc
#CXXFLAGS = -g -O2 -W -Wall $(INC) -D_GNU_SOURCE=1 -D_REENTRANT
CXXFLAGS = -g -W -Wall $(INC) -D_GNU_SOURCE=1 -D_REENTRANT
LDFLAGS	 =
LIBS	 = -L/usr/lib -lSDL -lSDL_ttf
RANLIB	 = ranlib
INCDIRS	 =
OUT	 = out/
SRC	 = src/
BINNAME	 = graph

.EXTENSIONS =
.EXTENSIONS = .o .c .cc

$(OUT)%.o: $(SRC)%.cc
	@echo CXX $<
	@$(CXX) -c $(CXXFLAGS) $< -o $@


$(OUT)%.o: $(SRC)%.c
	@echo CC $<
	@$(CC) -c $(CXXFLAGS) $< -o $@

$(OUT)%.o: $(SRC)%.cpp
	@echo CC $<
	@$(CC) -c $(CXXFLAGS) $< -o $@

All: dirs $(BINNAME)

OBJS1 = $(patsubst %.cpp, %.o, $(wildcard src/*.cpp ))
OBJS2 = $(patsubst %.cc, %.o, $(wildcard src/*.cc ))
OBJS3 = $(patsubst %.c, %.o, $(wildcard src/*.c ))
OBJS =  $(subst $(SRC), $(OUT), $(OBJS1) $(OBJS2) $(OBJS3))

$(BINNAME): $(OBJS)
	@echo LINK $@
	@$(LINK) $(INC) -o $@ $^ $(LIBS)

clean:
	-rm -f $(OBJS) $(BINNAME)

dirs: out

out:
	-mkdir out
