summaryrefslogtreecommitdiff
path: root/makefile.mk
blob: afcfda7dffbf3b94a606741883bf896d196366ad (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
# needed cflags
CFLAGS += -std=c2x

# add include directory
CFLAGS += -isystem ../include
INCLUDE += ../include

# add lib directory
SRC += ../lib

H_SRC = $(shell find $(SRC) $(INCLUDE) -type f -name "*.h")
C_SRC = $(shell find $(SRC) -type f -name "*.c")
C_OBJ = $(patsubst %.c,$(BIN)/%.o,$(C_SRC))

.PHONY: clean build run

build: $(BIN)/$(OUT)

clean:
	rm -fr $(BIN)

run: build
	$(BIN)/$(OUT)

$(C_OBJ): $(BIN)/%.o : %.c
	@mkdir -p $(@D)
	$(CC) -c $(CFLAGS) -o $@ $<

$(BIN)/$(OUT): $(C_OBJ) $(H_SRC)
	@mkdir -p $(@D)
	$(LD) $(LDFLAGS) -o $(BIN)/$(OUT) $(C_OBJ)