记录一下,第一次写makefile,注意规则:
1.对于.cpp编译链接而言,一定要包括CC和CXX ,编译器也要指明对
1 PLATFORM ?= aarch64
2 BUILD_PROFILE ?= debug
3 CONFIG_NAMEW ?=
(
P
L
A
T
F
O
R
M
)
−
(PLATFORM)-
(PLATFORM)−(BUILD_PROFIEL)
4
5 CC =qcc #-Vgcc_ntox86_64$(PlATFORM)
6 CXX =q++ #-lang-c++ -Vgcc_ntox86_64(PLATFORM)
7 #CXX = aarch64-unknown-nto-qnx7.0.0-g++
8
9 LD = KaTeX parse error: Expected 'EOF', got '#' at position 11: (CXX) 10 #̲DEPS = -Wp,-MMD…(@:%.o=%.d),-MT,$@
11
12
13 TARGET =test
14
15 DIR_SRC =./ //当前路径src
16 DIR_OBJ =./ //当前路径obj
17
18 #SRCS := $(willcard
(
D
I
R
S
R
C
)
/
∗
.
c
p
p
)
/
/
工
程
目
录
下
19
S
R
C
S
:
=
t
e
s
t
.
c
p
p
20
O
B
J
E
C
T
S
:
=
t
e
s
t
.
o
/
/
通
过
m
a
k
e
,
生
成
中
间
产
物
o
b
j
:
t
e
s
t
.
o
21
O
B
J
E
C
T
S
:
=
(DIR_SRC)/*.cpp) //工程目录下 19 SRCS := test.cpp 20 OBJECTS := test.o //通过make,生成中间产物obj:test.o 21 OBJECTS :=
(DIRSRC)/∗.cpp)//工程目录下19SRCS:=test.cpp20OBJECTS:=test.o//通过make,生成中间产物obj:test.o21OBJECTS:=(SRCS;
(
D
I
R
S
R
C
)
/
(DIR_SRC)/%.cpp=
(DIRSRC)/(DIR_OBJ)/%.o) //通过当前cpp链接.o包括.so
22 #LIBPATH=-L/home/technomous/Desktop/c++_g++/workspace
23
24 CPPFLAGS+=-Wall -Werror -g -ggdb -O0
25
26 LDFLAGS += -Wl,-rpath=.-llibtest //链接库test
27
28 all:$(TARGET)
29 $(TARGET) : $(OBJECTS)
30 $(CXX) $(OBJECTS) $(LDFLAGS) $(LIBPATH) $(LDLIBS) -o $@
31
32 .PHONY: clean
33 clean:
34 rm -rf *.o
35 rm -rf *.d
36 rm -f ${TARGET}
参考:
https://blog.csdn.net/chdhust/article/details/9260281