-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathMakefile
63 lines (43 loc) · 1.44 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
SUBDIRS := facecaffe
TOPDIR := $(shell pwd)
export PKG_CONFIG_PATH=/usr/local/AID/pkgconfig
OBJS_DIR := $(TOPDIR)/obj/
BIN_DIR := $(TOPDIR)/bin/
FACES_DIR := $(TOPDIR)/faces/
CUR_SRCS := $(wildcard *.cpp)
CUR_OBJS = $(addprefix $(OBJS_DIR), $(patsubst %.cpp, %.o, ${CUR_SRCS}))
BIN := $(BIN_DIR)fp
CFLAGS = -g -O2 -Wall -ffunction-sections -fdata-sections
LDFLAGS = -Wl,--gc-sections
LIBS= -lpthread -ldl -lm
CFLAGS += -DARCH_ARM -std=c++11 -DCPU_ONLY
CROSS_COMPILE = aarch64-linux-gnu-
INCLUDE_DIR := -I$(TOPDIR)/include/ \
`pkg-config --cflags opencv` \
`pkg-config --cflags caffe-hrt` \
`pkg-config --cflags tengine`
LIBS += `pkg-config --libs tengine` `pkg-config --libs caffe-hrt` `pkg-config --libs computelibrary` `pkg-config --libs opencv` -lglog -lboost_system
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++
CPP = $(CC) -E
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
RM = -rm -rf
export CC CXX RM CFLAGS INCLUDE_DIR OBJS_DIR TOPDIR
all: DIRS $(BIN)
DIRS:
mkdir -p $(OBJS_DIR)
mkdir -p $(BIN_DIR)
mkdir -p $(FACES_DIR)
$(BIN): $(SUBDIRS) $(CUR_OBJS)
$(CXX) $(CFLAGS) $(INCLUDE_DIR) $(LDFLAGS) $(OBJS_DIR)*.o -o $@ $(LIBS)
$(SUBDIRS): SUBMAKE
SUBMAKE:
$(foreach dir, $(SUBDIRS), make -C $(dir);)
$(CUR_OBJS):$(CUR_SRCS)
$(CC) -c $(CFLAGS) $(INCLUDE_DIR) $^ -o $@
clean:
rm -f ${BIN} $(OBJS_DIR)/*.o