blob: cf2f00835919c513d3b5407149090e709e87b41e (
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
43
|
.PHONY: kpl_test_memory kpl_test_thread clean rsync_list
MAKEFLAGS := -j$(shell nproc)
CC := gcc
OO := -g -Og
FFLAGS := -fno-omit-frame-pointer -fhardened
WFLAGS := -Wall -Wextra -Wstack-protector
CFLAGS = -std=gnu99 $(FLAGS) -I./include $(OO) $(FFLAGS) $(WFLAGS)
CCOBJ = $(CC) $(CFLAGS) -o $@ $^
SOURCE_OBJECTS := $(patsubst %.c, %.o, $(wildcard ./source/*.c))
TEST_OBJECTS := $(patsubst %.c, %.o, $(wildcard ./test/*.c))
kpl: OO := -O2
kpl: WFLAGS += -Werror
kpl: FLAGS += -DKPL_MAIN
kpl: $(SOURCE_OBJECTS)
$(CCOBJ)
kpl_test: $(SOURCE_OBJECTS) $(TEST_OBJECTS)
$(CCOBJ)
kpl_test_memory: FFLAGS += -fsanitize=address,leak,undefined
kpl_test_memory: kpl_test
kpl_test_thread: FFLAGS += -fsanitize=thread
kpl_test_thread: kpl_test
clean:
@rm -fv kpl
@rm -fv kpl_test
@find -type f -name "*.o" -exec rm -v {} \;
rsync_list:
@echo "include/"
@echo "include/*/"
@echo "source/"
@echo "test/"
@echo "*.c"
@echo "*.h"
@echo "Makefile"
|