mirror of
https://github.com/HerrCraziDev/tiny-kyoukai.git
synced 2025-12-17 06:36:16 +01:00
Makefile watch for header updates
This commit is contained in:
28
Makefile
28
Makefile
@@ -12,19 +12,26 @@ INCLUDES = $(shell if [ -n "$(LIBS)" ]; then pkg-config -cflags $(LIBS); fi) -Is
|
|||||||
SRC = $(shell find src/ -type f -name '*.c') main.c
|
SRC = $(shell find src/ -type f -name '*.c') main.c
|
||||||
NOM = $(basename $(notdir $(SRC)))
|
NOM = $(basename $(notdir $(SRC)))
|
||||||
OBJ = $(addprefix $(BUILD_DIR)/,$(addsuffix .o, $(NOM)))
|
OBJ = $(addprefix $(BUILD_DIR)/,$(addsuffix .o, $(NOM)))
|
||||||
|
DEP = $(addprefix $(BUILD_DIR)/,$(addsuffix .d, $(NOM)))
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# MAIN BUILD RULES
|
# MAIN BUILD RULES
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Main rule
|
||||||
|
all: init build
|
||||||
|
|
||||||
|
# General build
|
||||||
|
build: $(PROJECT_NAME)
|
||||||
|
|
||||||
# Build all the .o files in src dir
|
# Build all the .o files in src dir
|
||||||
$(BUILD_DIR)/%.o: src/%.c
|
$(BUILD_DIR)/%.o: src/%.c src/includes/%.h Makefile
|
||||||
$(CC) $(CFLAGS) -c $< $(INCLUDES) -o $(BUILD_DIR)/$(notdir $@)
|
$(CC) $(CFLAGS) -MMD -MP -c $< $(INCLUDES) -o $(BUILD_DIR)/$(notdir $@)
|
||||||
|
|
||||||
# Build all the .o files in base dir
|
# Build all the .o files in base dir
|
||||||
$(BUILD_DIR)/%.o: %.c
|
$(BUILD_DIR)/%.o: %.c Makefile
|
||||||
$(CC) $(CFLAGS) -c $< $(INCLUDES) -o $(BUILD_DIR)/$(notdir $@)
|
$(CC) $(CFLAGS) -MMD -MP -c $< $(INCLUDES) -o $(BUILD_DIR)/$(notdir $@)
|
||||||
|
|
||||||
# Main program
|
# Main program
|
||||||
$(PROJECT_NAME): $(OBJ)
|
$(PROJECT_NAME): $(OBJ)
|
||||||
@@ -34,6 +41,8 @@ $(PROJECT_NAME): $(OBJ)
|
|||||||
kyoutest: $(BUILD_DIR)/helloworld.o
|
kyoutest: $(BUILD_DIR)/helloworld.o
|
||||||
$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
|
$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
|
||||||
|
|
||||||
|
# Dependancies generated by GCC (for headers)
|
||||||
|
-include $(DEP)
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# SILLY RULES
|
# SILLY RULES
|
||||||
@@ -49,10 +58,6 @@ SUSSYBAKA:
|
|||||||
# UTILITIES
|
# UTILITIES
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
all: init build
|
|
||||||
|
|
||||||
build: $(PROJECT_NAME) localecho
|
|
||||||
|
|
||||||
rebuild: clean build
|
rebuild: clean build
|
||||||
|
|
||||||
dev: build run
|
dev: build run
|
||||||
@@ -66,17 +71,20 @@ test:
|
|||||||
@echo CC: $(CC)
|
@echo CC: $(CC)
|
||||||
@echo CFLAGS: $(CFLAGS)
|
@echo CFLAGS: $(CFLAGS)
|
||||||
@echo LDFLAGS: $(LDFLAGS)
|
@echo LDFLAGS: $(LDFLAGS)
|
||||||
|
@echo LIBS: $(LIBS)
|
||||||
@echo LDLIBS: $(LDLIBS)
|
@echo LDLIBS: $(LDLIBS)
|
||||||
@echo OBJ: $(OBJ)
|
@echo OBJ: $(OBJ)
|
||||||
@echo SRC: $(SRC)
|
@echo SRC: $(SRC)
|
||||||
|
@echo DEP: $(DEP)
|
||||||
@echo INCLUDES: $(INCLUDES)
|
@echo INCLUDES: $(INCLUDES)
|
||||||
|
|
||||||
run: $(PROJECT_NAME)
|
run: $(PROJECT_NAME)
|
||||||
./$(PROJECT_NAME)
|
./$(PROJECT_NAME)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -rif *.o *.gch
|
@rm -if $(OBJ) $(DEP)
|
||||||
@rm -rif $(BUILD_DIR)/*.o $(BUILD_DIR)/*.gch
|
# @rm -rif *.o *.gch
|
||||||
|
# @rm -rif $(BUILD_DIR)/*.o $(BUILD_DIR)/*.gch
|
||||||
|
|
||||||
clear: clean
|
clear: clean
|
||||||
@rm $(PROJECT_NAME)
|
@rm $(PROJECT_NAME)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
|
#define DEBUG
|
||||||
|
|
||||||
extern char* sTestString;
|
extern char* sTestString;
|
||||||
Reference in New Issue
Block a user