build: 🔨 Makefile updated.
This commit is contained in:
parent
c670e7fa16
commit
1754f6cf91
86
Makefile
86
Makefile
@ -1,43 +1,43 @@
|
|||||||
# Compiler and Flags
|
# Compiler and Flags
|
||||||
CC = gcc
|
CC = gcc
|
||||||
# CFLAGS = -Wall -Wextra -Iinclude -g -pg -O0
|
# CFLAGS = -Wall -Wextra -Iinclude -g -pg -O0
|
||||||
CFLAGS = -O3 -march=native -DNDEBUG -Wall -Wextra -Werror -Iinclude -s -flto -fno-math-errno
|
CFLAGS = -O3 -march=native -DNDEBUG -Wall -Wextra -Werror -Iinclude -s -flto -fno-math-errno
|
||||||
LDFLAGS = -lm -flto
|
LDFLAGS = -lm -flto
|
||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
SRC_DIR = src
|
SRC_DIR = src
|
||||||
INCLUDE_DIR = include
|
INCLUDE_DIR = include
|
||||||
BUILD_DIR = build
|
BUILD_DIR = build
|
||||||
|
|
||||||
# Source and Object Files
|
# Source and Object Files
|
||||||
SRC_FILES = $(wildcard $(SRC_DIR)/*.c)
|
SRC_FILES = $(wildcard $(SRC_DIR)/*.c)
|
||||||
OBJ_FILES = $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.o,$(SRC_FILES))
|
OBJ_FILES = $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.o,$(SRC_FILES))
|
||||||
|
|
||||||
# Binaries
|
# Binaries
|
||||||
MAIN_BIN = $(BUILD_DIR)/main
|
MAIN_BIN = $(BUILD_DIR)/main
|
||||||
|
|
||||||
# Targets
|
# Targets
|
||||||
all: $(MAIN_BIN)
|
all: $(MAIN_BIN)
|
||||||
|
|
||||||
# Main Program
|
# Main Program
|
||||||
$(MAIN_BIN): $(OBJ_FILES) | $(BUILD_DIR)
|
$(MAIN_BIN): $(OBJ_FILES) | $(BUILD_DIR)
|
||||||
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
||||||
|
|
||||||
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR)
|
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR)
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
|
||||||
# Create Build Directories
|
# Create Build Directories
|
||||||
$(BUILD_DIR):
|
$(BUILD_DIR):
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
# Generate docs
|
# Generate docs
|
||||||
docs:
|
docs:
|
||||||
doxygen Doxyfile
|
doxygen Doxyfile
|
||||||
|
|
||||||
# Clean
|
# Clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BUILD_DIR)
|
rm -rf $(BUILD_DIR)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all tests clean run-tests
|
.PHONY: all tests clean run-tests
|
||||||
|
Loading…
Reference in New Issue
Block a user