CC := gcc CFLAGS := -Wall LDFLAGS := INCLUDE := -I include EXENAME := nrr OBJ := obj BIN := bin SOURCES := main.c OBJECTS := $(addprefix $(OBJ)/, $(SOURCES:.c=.o)) TARGET := $(BIN)/$(EXENAME) all: $(TARGET) run: $(TARGET) @./$(TARGET) $(TARGET): $(OBJECTS) | $(BIN) $(CC) $(CFLAGS) $(INCLUDE) $(OBJECTS) -o $(TARGET) $(LDFLAGS) $(OBJ)/%.o: %.c | $(OBJ) $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ $(BIN): @mkdir -p $(BIN) $(OBJ): @mkdir -p $(OBJ) clean: @rm -rf $(BIN) $(OBJ) .PHONY: all clean run