CC := gcc SRC := src OBJ := obj TARGET := a.out SRCS := $(shell find $(SRC) -name *.c) FILES := $(notdir $(basename $(SRCS))) OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(FILES))) FLAGS := -Werror -Wall all: clear build build: $(OBJS) $(CC) $(FLAGS) $(OBJS) ./$(TARGET) $(OBJ)/%.o: $(SRC)/%.c $(CC) -Werror -Wall -c $< -o $@ only: build clean: clear -rm -f $(OBJS) clear: clear