diff --git a/.gitignore b/.gitignore index e69de29..8247f0c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,3 @@ + +bin/* +!bin/.gitkeep diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..89b28d3 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +CC := gcc +CFLAGS := -Wall -Wextra -Iheaders + +PROG_NAME := program +SRC_DIR := src +BIN_DIR := bin +INC_DIR := include + +TARGET := $(BIN_DIR)/$(PROG_NAME) + +SRCS := $(wildcard $(SRC_DIR)/*.c) +OBJS := $(SRCS:$(SRC_DIR)/%.c=$(BIN_DIR)/%.o) + +all: $(TARGET) + +$(TARGET): $(OBJS) | $(BIN_DIR) + $(CC) $(OBJS) -o $@ + @rm -f $(OBJS) + +$(BIN_DIR)/%.o: $(SRC_DIR)/%.c | $(BIN_DIR) + $(CC) $(CFLAGS) -c $< -o $@ + +clean: + rm -rf $(BIN_DIR) + +.PHONY: all clean diff --git a/bin/.gitkeep b/bin/.gitkeep new file mode 100644 index 0000000..e69de29