1.makefile是什么?

\qquadmakefile是linux下的一个代码管理工具。

2.makefile文件的命名

\qquadmakefile的命名:首字母大写即:Makefile;或者全部小写:makefile。

3.makefile文件的规则

\qquad规则三要素:目标,依赖,命令。举例:

vim makefile
#在makefile文件中,基于动态库的编译main.c源文件
main:main.c ./lib/libadd.so ./includegcc main.c ./lib/libadd.so -o main -I ./include
make #在makefile文件目录下,执行gcc main.c ./lib/libadd.so -o main -I ./include

\qquad当makefile中存在多条规则,第一条规则,是最后执行的。举例:

main:main.o  head1.o gcc main.o head1.o -o main
main.o:main.cgcc -c main.c
head1.o:head1.cgcc -c head1.c

4.makefile中的变量

\qquadmakefile中的变量的定义和使用,举例

var=main.o head1.o
target=main
$(target):$(var)gcc $(var) -o $(target)
%.o:%.cgcc -c $< -o $@

\qquadmakefile中的自动变量,只能在命令中使用
$<:规则中的第一个依赖
$@:规则中的目标
$^:规则中的所有依赖

linux的常用操作——makefile相关推荐

  1. linux的常用操作——查看和修改文件权限

    linux的常用操作--查看和修改文件权限 #1.查看当前用户 whoami#2.查看文件权限(r:read;w:write,x:execute) ls -l#3.修改文件\目录权限 chmod [w ...

  2. linux的常用操作——用户的添加、删除和查看

    linux的常用操作--用户的添加.删除和查看 #1.添加用户(用户名无大写字母) sudo adduser mumu passwd mumu #添加密码#2.添加用户(用户名中含有大写字母) #首先 ...

  3. Linux防火墙常用操作及端口开放

    Linux防火墙常用操作及端口开放 1.查看防火墙状态 firewall-cmd --state 2.开启防火墙 systemctl start firewalld.service 3.开启指定端口 ...

  4. linux:命令常用操作

    linux: 1,root操作: 2.内核系统操作 3.设备查看 4.截屏操作 5 设备内存管理 6 文件操作 新建文件 切换路径 7.内存操作 常用命令类型: ①yum命令 ②apt命令 ③ 1,r ...

  5. Linux shell常用操作指令(0)

    首先,说一下我跟Linux的接触的历史吧!第一次接触是在大一下学期的3月份,当时我参加了一个科创学习,接触到了有小型计算机之称的树莓派,在那段时间跟随老师从一开始的给树莓派烧录镜像到树莓派的一些基本配 ...

  6. linux的常用操作——基于ftp的windows10和腾讯云centos操作系统之间的文件上传和下载

    \qquad在腾讯云服务器的centos操作系统上,安装vsftpd并进行配置,然后基于ftp实现windows10操作系统和腾讯云centos系统之间的文件上传和下载. 文章目录 1.基于腾讯云服务 ...

  7. LINUX系统常用操作

    为什么80%的码农都做不了架构师?>>>    1.VI的常用命令   显示/隐藏行号::set nu/setnonu   移动到文件末尾:G   移动到文件第一行::1   删除单 ...

  8. [Linux][Ubuntu]Linux实习常用操作/Debug总结

    一. Win下装Jupter 1.安装anaconda 配置环境变量 打开jupyter 2.切换目录 装软件 二. 移动复制粘贴上锁文件 sudo nautilus 三. 视频播放 sudo nan ...

  9. linux的常用操作——open函数

    1.linux系统函数 \qquad使用linux系统函数和使用一般C库函数没有什么本质区别.在linux下编写c语言程序时,如果使用系统函数,也需要包含系统函数的头文件,函数也有参数,返回值,这和使 ...

最新文章

  1. 《京东技术解密》读书笔记:坚持技术十年如一日
  2. Smartforms 在sap系统设置纸张打印格式
  3. 编程中函数的返回值的定义问题的解决
  4. 怎么把文件导入python_如何导入其他Python文件?
  5. SQL Server数据库字段类型详解
  6. 光子浏览器_烟台招聘信息烟台光子信息科技有限公司招聘(五险一金,餐补)...
  7. pom 导入mysql连接,maven项目中的jdbc连接步骤
  8. React学习资料+css进阶资料总结
  9. 漏洞扫描工具Vulmap
  10. 基于ZStack构建深度学习云平台
  11. 超好用的 Windows 效率工具推荐
  12. font标签、特殊字符、标题标签h1-h6
  13. bundle install 出现 'gem install mysql2 -v '0.3.15' succeeds before bunding '
  14. 安装完Ubuntu16.04后要做的事
  15. SpringBoot_Web开发基础内容
  16. 我的世界java版hud怎么设置_修改配置文件以关闭HUD和怪物隐身
  17. Oracle中TO_DATE TO_CHAR格式
  18. 动态代理——拦截器——责任链——AOP面向切面编程底层原理详解(迪丽热巴版)
  19. 第四章 资本主义的本质及规律
  20. 京东开源项目之列表解决方案Drip-Table

热门文章

  1. LeetCode 1181. 前后拼接(哈希map)
  2. LeetCode 1037. 有效的回旋镖
  3. 程序员面试金典 - 面试题 17.18. 最短超串(双指针+哈希)
  4. LeetCode 890. 查找和替换模式(哈希表)
  5. LeetCode 628. 三个数的最大乘积
  6. cms安装教程Linux,DoraCMS安装教程(linux)
  7. windows7正版验证_Windows7 寿终正寝:那些一并消逝的软件你知多少?
  8. 系统总结vue组件间通信、数据传递(父子组件,同级组件)
  9. python中的私有化
  10. NLP领域的首次Hard Label黑盒攻击!