blob: 9846889d95f9bcffbd97dc6f30e4b6aadc14a148 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# Build configuration
BIN := build/tb_ml
SRC := source/tb_ml/tb_ml.c
OBJ := build/tb_ml.o
DEP := build/tb_ml.d
# Compiler flags
CC ?= clang
CFLAGS := -Wall -Wextra -Wpedantic -Wno-unused-function -g --std=c99 -fno-omit-frame-pointer
LDFLAGS := -lm
# Optimization level
OPT ?= 0
CFLAGS += -O$(OPT)
# Build directory
$(shell mkdir -p build)
# Targets
.PHONY: all run clean help
all: $(BIN)
$(BIN): $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
$(OBJ): $(SRC)
$(CC) $(CFLAGS) -MT $@ -MMD -MP -MF $(DEP) -c $< -o $@
-include $(DEP)
run: $(BIN)
./$(BIN)
clean:
rm -rf build
help:
@echo "make [OPT=0|1|2|3]"
@echo " all - Build (default)"
@echo " run - Build and run"
@echo " clean - Remove artifacts"
|