CC=gcc EXT=.c FLAGS=-O0 -g DEPFLAGS=-MD -MP LIBS=-lOpenCL -lSDL2 -lm EXEC_NAME=main OBJDIR=obj SRC=$(wildcard *$(EXT)) OBJS=$(patsubst %,$(OBJDIR)/%.o, $(basename $(SRC))) $(shell mkdir -p $(dir $(OBJS)) > /dev/null) $(EXEC_NAME): $(OBJS) $(CC) $(FLAGS) $(LIBS) $^ -o $(EXEC_NAME) $(OBJDIR)/%.o: %$(EXT) $(CC) $(FLAGS) $(DEPFLAGS) -c -o $@ $< .PHONY: clean clean: rm -rf $(OBJDIR) -include $(SRC:$(EXT)=.d)