首页 > 其他 > 详细

Liunx之编译脚本Makefile四层

时间:2020-12-07 16:05:21      阅读:27      评论:0      收藏:0      [点我收藏+]
前言

该文章只记录一个最基本的 Makefile 的实现,在阅读该文章前,我假设读者已经掌握了 Liunx之编译脚本Makefile介绍 知识点

害,还是好伤元气,一点都不想写这无意义的玩意儿,前方路漫漫,一步一步来吧~~~

这只是一个非常小的Demo项目,在实际中,我们写的项目一般都比这个Demo复杂了N次方的。

四层功力是指 隐式规则 + 显式规则 + 变量定义 + 通配符

通配符
* $* 不包含扩展名的目标文件名称
* $+ 所有的依赖文件,以空格分开,并以出现的先后为序,这可能重复包含依赖文件
* $< 第一个依赖文件的名称
* $? 所有时间戳目标文件的依赖文件,并以空格分开
* %  任意的
测试项目说明
/*
project name : makefile_unit_testing
compile      : gcc
system       : ubuntu 18.04.4 -64bit
source level :
           main.c
           unit_log.h
           unit_log.c
*/
提醒

大可不必强迫自己去做一些伤元气的事,或者写一些伤元气的代码。一切为了部落,呼哈~~

目录
Makefile之四层功力代码实现
# 构建的项目输出名称
build_object = makefile_unit_testing

# 依赖的二进制文件集合
objects := unit_log.o main.o

$(build_object): $(objects)
	gcc -o $(build_object) $(objects)
	
%.o: %.c
	gcc -c $^ -o $@

clean:
	rm -rf *.o $(build_object)

Makefile测试结果

技术分享图片

  1. 查看当前项目的目录
  2. make之后makefile执行的流程
  3. 执行make构建输出的文件
  4. Makefile 代码

Liunx之编译脚本Makefile四层

原文:https://www.cnblogs.com/shHome/p/14094510.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!