From 3ad00c45dceebbf910f82ab9ba50c7e8aa75ce25 Mon Sep 17 00:00:00 2001 From: XOR Date: Sat, 4 Feb 2023 18:52:13 +0100 Subject: [PATCH] Makefile now recompiles stuff too if only headers changed --- Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index c6429e5..d82f502 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,19 @@ CC := clang CFLAGS := -Wall -Wextra SRC_DIR := src +HEADER_DIR := header BUILD_DIR := build OBJECT_FILES := $(patsubst %.c, %.o, $(wildcard $(SRC_DIR)/*.c)) +HEADER_FILES := $(wildcard $(HEADER_DIR)/*.h) OBJECT_FILES := $(patsubst $(SRC_DIR)/%, $(BUILD_DIR)/%, $(OBJECT_FILES)) MAIN_EXE_NAME := eipaasm -all eipaasm: $(OBJECT_FILES) +all build/eipaasm: $(OBJECT_FILES) $(CC) $(CFLAGS) $^ -o $(BUILD_DIR)/$(MAIN_EXE_NAME) -$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c +$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c $(HEADER_FILES) @mkdir -p $(BUILD_DIR) - $(CC) -c $(CFLAGS) $^ -o $@ + $(CC) -c $(CFLAGS) $(patsubst %.h,,$^) -o $@ clean: rm -r $(BUILD_DIR)