You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
672 B

GCCFLAGS = -Wall -Wextra -I src -Wno-unused-parameter -Wno-unused-but-set-variable
BUILD_DIR = build
SOURCES = $(shell find src -name '*.c')
TARGETS = $(patsubst %.c, %.o, $(SOURCES))
TARGETS := $(addprefix $(BUILD_DIR)/, $(TARGETS))
APP_NAME = app
DOXYGEN_CONFIG = docs/Doxyfile.in
all: $(APP_NAME)
$(APP_NAME): $(TARGETS)
@gcc $(GCCFLAGS) -o $(APP_NAME) $(TARGETS)
@echo -e $(GREEN)build done.$(RESET)
$(TARGETS): $(SOURCES)
@mkdir -p $(@D)
@gcc $(GCCFLAGS) -c $(patsubst %.o, %.c, $(@:$(BUILD_DIR)/%=%)) -o $@
clean:
@rm -r $(BUILD_DIR) $(APP_NAME)
@echo -e $(GREEN)clean done.$(RESET)
docs:
@doxygen $(DOXYGEN_CONFIG)
@echo -e $(GREEN)docs done.$(RESET)