-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
34 lines (23 loc) · 789 Bytes
/
Makefile
File metadata and controls
34 lines (23 loc) · 789 Bytes
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
export PROJECT_ROOT=$(CURDIR)
export ARCH_BITS=$(shell getconf LONG_BIT)
SOURCE_DIRS = crt client ctl core
BUILD_DIRS = bin lib obj
SOURCE_DIRS_CLEAN = $(addsuffix .clean,$(SOURCE_DIRS))
BUILD_DIRS_CLEAN = $(addsuffix .clean,$(BUILD_DIRS))
.PHONY: all clean $(BUILD_DIRS) $(BUILD_DIRS_CLEAN) $(SOURCE_DIRS) $(SOURCE_DIRS_CLEAN)
all: export PROJECT_EXTRA_CFLAGS = -O2
all: $(BUILD_DIRS) $(SOURCE_DIRS)
debug: export PROJECT_EXTRA_CFLAGS = -DDEBUG -g3 -ggdb3 -fno-inline
debug: $(BUILD_DIRS) $(SOURCE_DIRS)
clean: $(BUILD_DIRS_CLEAN) $(SOURCE_DIRS_CLEAN)
$(SOURCE_DIRS):
$(MAKE) -C $@
$(BUILD_DIRS):
mkdir -p $@
$(SOURCE_DIRS_CLEAN): %.clean:
$(MAKE) -C $* clean
$(BUILD_DIRS_CLEAN): %.clean:
rm -rf $*
client: crt $(BUILD_DIRS)
ctl: crt $(BUILD_DIRS)
core: crt $(BUILD_DIRS)