Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
cosmicing
Prj-Cpps
提交
e433ab35
P
Prj-Cpps
项目概览
cosmicing
/
Prj-Cpps
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Prj-Cpps
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e433ab35
编写于
5月 14, 2021
作者:
cosmicing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
上传新文件
上级
182a6bd6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
51 addition
and
0 deletion
+51
-0
12-LinkList/32-DetectCycle/Makefile
12-LinkList/32-DetectCycle/Makefile
+51
-0
未找到文件。
12-LinkList/32-DetectCycle/Makefile
0 → 100644
浏览文件 @
e433ab35
CC
:=
g++
#注意每行后面不要有空格,否则会算到目录名里面,导致问题
SRC_DIR
=
./
BUILD_DIR
=
tmp
OBJ_DIR
=
$(BUILD_DIR)
/obj
DEPS_DIR
=
$(BUILD_DIR)
/deps
#这里添加其他头文件路径
INC_DIR
=
\
-I
./include
\
-I
./src
\
#这里添加编译参数
CC_FLAGS
:=
$(INC_DIR)
-g
-std
=
c++11
LNK_FLAGS
:=
\
-L
/usr/local/lib
#这里递归遍历3级子目录
DIRS
:=
$(
shell
find
$(SRC_DIR)
-maxdepth
3
-type
d
)
#将每个子目录添加到搜索路径
VPATH
=
$(DIRS)
#查找src_dir下面包含子目录的所有cpp文件
#SOURCES = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cpp))
SOURCES
=
detectCycle.cpp
OBJS
=
$(
addprefix
$(OBJ_DIR)
/,
$(
patsubst
%.cpp,%.o,
$(
notdir
$(SOURCES)
)))
DEPS
=
$(
addprefix
$(DEPS_DIR)
/,
$(
patsubst
%.cpp,%.d,
$(
notdir
$(SOURCES)
)))
TARGET
:=
$(
patsubst
%.cpp, %,
$(SOURCES)
)
$(TARGET)
:
$(OBJS)
$(CC)
$^
$(LNK_FLAGS)
-o
$@
#编译之前要创建OBJ目录,确保目录存在
$(OBJ_DIR)/%.o
:
%.cpp
if
[
!
-d
$(OBJ_DIR)
]
;
then
mkdir
-p
$(OBJ_DIR)
;
fi
;
\
$(CC)
-c
$(CC_FLAGS)
-o
$@
$<
#编译之前要创建DEPS目录,确保目录存在
#前面加@表示隐藏命令的执行打印
$(DEPS_DIR)/%.d
:
%.cpp
@
if
[
!
-d
$(DEPS_DIR)
]
;
then
mkdir
-p
$(DEPS_DIR)
;
fi
;
\
set
-e
;
rm
-f
$@
;
\
$(CC)
-MM
$(CC_FLAGS)
$<
>
$@
.
$$$$
;
\
sed
's,\($*\)\.o[ :]*,
$(OBJ_DIR)
/\1.o $@ : ,g'
<
$@
.
$$$$
>
$@
;
\
rm
-f
$@
.
$$$$
#前面加-表示忽略错误
-include
$(DEPS)
.PHONY
:
clean
clean
:
rm
-rf
$(BUILD_DIR)
$(TARGET)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录