aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: ff523fb987f73a684d3769a6c5fc2bf499c9ca2b (plain) (blame)
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
CFLAGS := -Isrc -MMD -MP -Wall -Wextra
LDFLAGS := -Wall -Wextra

TARGET = build/bfc

TARGET_SRC := $(shell find src -name "*.c")
TARGET_OBJ := $(patsubst src/%.c, build/%.o, $(TARGET_SRC))
TARGET_DEP := $(patsubst build/%.o, build/%.d, $(TARGET_OBJ))

all: build $(TARGET)

build:
	mkdir -p $(sort $(dir $(TARGET_OBJ)))

$(TARGET): $(TARGET_OBJ)
	$(CC) $(LDFLAGS) $(TARGET_OBJ) -o $@

-include $(TARGET_DEP)

build/%.o: src/%.c
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -rf build

.PHONY: build clean