aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile36
1 files changed, 36 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..53d756b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,36 @@
1SRC_DIR ?= src
2BUILD_DIR ?= build
3SRC_MAIN ?= $(SRC_DIR)/main.c
4EXE_NAME ?= fbtest
5BIN := $(BUILD_DIR)/$(EXE_NAME)
6
7CC ?= cc
8CFLAGS := -Wall -Wextra -pedantic
9
10REL_FLAGS := -DNDEBUG -O2
11DEB_FLAGS := -DDEBUG -O0 -g
12
13DEBUG ?= 0
14ifeq ($(DEBUG), 1)
15 CFLAGS += $(DEB_FLAGS)
16else ifeq ($(DEBUG), 2)
17 CFLAGS += $(DEB_FLAGS) -fsanitize=address
18else
19 CFLAGS += $(REL_FLAGS)
20endif
21
22.PHONY: build run clean
23
24main: $(BIN)
25
26$(BIN): $(SRC_MAIN) $(BUILD_DIR)
27 $(CC) $(CFLAGS) -o $(BIN) $(SRC_MAIN)
28
29$(BUILD_DIR):
30 mkdir -p $(BUILD_DIR)
31
32run: $(BIN)
33 ./$(BIN)
34
35clean:
36 rm -rf $(BUILD_DIR)