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
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)
|