-
Notifications
You must be signed in to change notification settings - Fork 93
/
Copy pathMakefile
83 lines (66 loc) · 1.41 KB
/
Makefile
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
TOPDIR = $(CURDIR)
SCRIPT_DIR = $(TOPDIR)/scripts
export TOPDIR
ifeq ("$(origin V)", "command line")
BUILD_VERBOSE = $(V)
endif
ifndef BUILD_VERBOSE
BUILD_VERBOSE = 0
endif
ifeq ($(BUILD_VERBOSE),1)
quiet =
Q =
else
quiet=quiet_
Q = @
MAKEFLAGS += --no-print-directory
endif
ifneq ($(findstring s,$(MAKEFLAGS)),)
quiet=silent_
endif
export quiet Q BUILD_VERBOSE
echo := :
quiet_echo := echo
silent_echo := :
echo := $($(quiet)echo)
include $(SCRIPT_DIR)/Kbuild.include
# gnu utils
CC = gcc
LD = ld
AR = ar
INSTALL = install
# cross utils
TARGET=
export CC LD AR INSTALL TARGET
INC = -I$(TOPDIR)/include
CFLAGS = -Wall -Wno-unused-function -O0 $(INC)
CFLAGS += -g -DDEBUG
LDFLAGS = -lpthread
CFLAGS+=$(shell mysql_config --cflags)
LDFLAGS+=$(shell mysql_config --libs)
export CFLAGS LDFLAGS
all:acser apcli test
LIB = libapctl.o
LIBDIR = $(TOPDIR)/lib
export LIB LIBDIR
ACDIR = $(TOPDIR)/ac
acser:
@$(MAKE) -C $(ACDIR)
APDIR = $(TOPDIR)/ap
apcli:
@$(MAKE) -C $(APDIR)
TESTDIR = $(TOPDIR)/test
test: FORCE
@$(MAKE) -C $(TESTDIR)
tags: FORCE
@find . -name "*.h" -o -name "*.c" -o -name "*.s" > cscope.files
@cscope -bkq -i cscope.files
@ctags -L cscope.files
clean:
@rm -rf `find . -name "*.o"` $(ACDIR)/acser $(APDIR)/apctl
@rm -rf `find . -name "*.so"`
@rm -rf $(TESTDIR)/dllser $(TESTDIR)/dllcli
@rm -rf cscope* tags
FORCE:
PHONY += deps clean FORCE
.PHONY: $(PHONY)