parent
fe4dd67414
commit
66f90ea81c
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -1,43 +1,21 @@
|
|||||||
CC = gcc
|
GCCFLAGS = -Wall -Wextra -I src -Wno-unused-parameter -Wno-unused-but-set-variable
|
||||||
SRC_DIR = src
|
|
||||||
OBJ_DIR = obj
|
|
||||||
SOURCES = $(wildcard $(SRC_DIR)/*.c)
|
|
||||||
OBJECTS = $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SOURCES))
|
|
||||||
EXECUTABLE = APP
|
|
||||||
BUILD_DIR = build
|
BUILD_DIR = build
|
||||||
LDFLAGS =
|
SOURCES = $(shell find src -name '*.c')
|
||||||
CFLAGS_RELEASE = -O3
|
TARGETS = $(patsubst %.c, %.o, $(SOURCES))
|
||||||
CFLAGS_DEBUG = -g -O0
|
TARGETS := $(addprefix $(BUILD_DIR)/, $(TARGETS))
|
||||||
|
APP_NAME = app
|
||||||
|
|
||||||
# Generate dependency files
|
all: $(APP_NAME)
|
||||||
DEPS = $(OBJECTS:.o=.d)
|
|
||||||
-include $(DEPS)
|
|
||||||
|
|
||||||
# Commands
|
$(APP_NAME): $(TARGETS)
|
||||||
all: build
|
@gcc $(GCCFLAGS) -o $(APP_NAME) $(TARGETS)
|
||||||
|
@echo -e $(GREEN)build done.$(RESET)
|
||||||
|
|
||||||
build: $(BUILD_DIR)/$(EXECUTABLE)
|
$(TARGETS): $(SOURCES)
|
||||||
|
@mkdir -p $(@D)
|
||||||
|
@gcc $(GCCFLAGS) -c $(patsubst %.o, %.c, $(@:$(BUILD_DIR)/%=%)) -o $@
|
||||||
|
|
||||||
$(BUILD_DIR)/$(EXECUTABLE): $(OBJECTS)
|
|
||||||
@mkdir -p $(BUILD_DIR)
|
|
||||||
$(CC) $(LDFLAGS) -o $@ $^
|
|
||||||
|
|
||||||
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
|
|
||||||
@mkdir -p $(OBJ_DIR)
|
|
||||||
$(CC) -c $(CFLAGS_RELEASE) -MMD -MP -o $@ $<
|
|
||||||
|
|
||||||
debug:
|
|
||||||
$(MAKE) CFLAGS_RELEASE="$(CFLAGS_DEBUG)" build
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(OBJ_DIR) $(BUILD_DIR)
|
@rm -r $(BUILD_DIR) $(APP_NAME)
|
||||||
|
@echo -e $(GREEN)clean done.$(RESET)
|
||||||
run: build
|
|
||||||
$<
|
|
||||||
|
|
||||||
doc_doxygen:
|
|
||||||
@echo "Doxygen build started"
|
|
||||||
@$(MAKE) -C docs
|
|
||||||
|
|
||||||
.PHONY: all build debug clean run doc_doxygen
|
|
||||||
|
|
||||||
|
Loading…
Reference in new issue