diff options
Diffstat (limited to 'makefile')
| -rw-r--r-- | makefile | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/makefile b/makefile new file mode 100644 index 0000000..32a0198 --- /dev/null +++ b/makefile @@ -0,0 +1,33 @@ +SRC_DIR := src +BIN_DIR := build +OBJ_DIR := $(BIN_DIR)/obj + +EXE := $(BIN_DIR)/hellomake +SRC := $(wildcard $(SRC_DIR)/*.c) +OBJ := $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) + +CPPFLAGS := -Iinclude -MMD -MP +CFLAGS := -Wall +LDFLAGS := -Llib +LDLIBS := -lm + +.PHONY: all clean run + +all: $(EXE) + +$(EXE): $(OBJ) | $(BIN_DIR) + $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ + +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR) + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + +$(BIN_DIR) $(OBJ_DIR): + mkdir -p $@ + +run: $(EXE) + $(EXE) + +clean: + @$(RM) -rv $(BIN_DIR) $(OBJ_DIR) + +-include $(OBJ:.o=.d) |
