嵌入式Linux开发工具:vim文本编辑器、gcc编译器、gdb调试器、工程管理器make、脚本shell
1、
什么工程?
很多文件构成的软件代码——10000个.c文件如何编译? 工程管理器—作用?
自动编译、管理代码(git/github)
makeflie(脚本文件,不区分大小写):规定了如何自动编译
脚本文件:批处理 脚本编程(python)—测试、运维
三要素:目标、依赖、命令
目标:依赖
Tab 命令
自动编译:1、根据makefile内的文件规定内容进行编译2、根据文件时间戳进行编译
伪目标(可以不需要依赖,不生成对应文件):执行某些操作
.PHONY:clean
clean:
install:
mv hello/bin(剪切到bin)
真目标(生成对应文件)
命令前加@隐藏命令
echo hello (相当于c里面的printf,用于检验命令操作是否执行)
提问:
为什么makeflie要先将文件变成.o文件
答:提高效率节省时间
工程管理器make
企业级makefile—v1.0
1、根目录Makefile——总控的Makefile
(1、
进入各个功能子目录执行make命令2、将所有.o文件链接生成可执行文件)
2、功能目录的Makefile——将src目录里的.c文件编程变成.o文件
3、scripts的Makefile——定义变量(相当于c语言中的头文件)
项目的makefile顺序:先看scripts的Makefile再看总控的Makefile其次看功能目录的Makefile