makefile例子

  1. $@指代当前目标,就是Make命令当前构建的那个目标。比如,make foo的 $@ 就指代foo。

  2. \< 指代第一个前置条件。比如,规则为 t: p1 p2,那么< 就指代p1。

  3. ? 指代比目标更新的所有前置条件,之间以空格分隔。比如,规则为 t: p1 p2,其中 p2 的时间戳比 t 新,?就指代p2。

  4. $^ 指代所有前置条件,之间以空格分隔。比如,规则为 t: p1 p2,那么 $^ 就指代 p1 p2 。

参考链接:https://www.ruanyifeng.com/blog/2015/02/make.html

例子:

bash 复制代码
SRCS = $(wildcard *.c *.s *.cpp)
OBJS = $(SRCS:.c = .o .cpp = .o .s = .o)
CC = arm-linux-gnueabihf-g++
#INCLUDES = -I/×××
#LIBS = -L/×××
CCFLAGS = -g -Wall -O0 -lc -lstdc++
hook : $(OBJS)
        $(CC) $^ -o $@
%.o : %.c %.s %.cpp
        $(CC) -c $< $(CCFLAGS)
clean:
        rm *.o
.PHONY:clean
相关推荐
我的K840924 分钟前
Flink整合Hudi及使用
linux·服务器·flink
19004334 分钟前
linux6:常见命令介绍
linux·运维·服务器
Camellia-Echo41 分钟前
【Linux从青铜到王者】Linux进程间通信(一)——待完善
linux·运维·服务器
Linux运维日记1 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes
我是唐青枫1 小时前
Linux dnf 包管理工具使用教程
linux·运维·服务器
编程修仙2 小时前
Collections工具类
linux·windows·python
芝麻团坚果2 小时前
对subprocess启动的子进程使用VSCode python debugger
linux·ide·python·subprocess·vscode debugger
写点什么啦2 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw2 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu
不爱学习的YY酱3 小时前
【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
java·linux·前端·算法·操作系统