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
相关推荐
松涛和鸣1 小时前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
C-DHEnry3 小时前
Linux 不小心挂载错磁盘导致无法启动系统咋办
linux·运维·服务器·雨云
hakukun5 小时前
Ubuntu启动时volume报错无法进入系统问题解决
linux·ubuntu
qq_401700415 小时前
Linux磁盘配置与管理
linux·运维·服务器
hoo3436 小时前
【SolidWorks2025】3D CAD 软件:机械设计安装 + 补丁教程
linux
先知后行。6 小时前
STM32常问问题
linux
Code Warrior7 小时前
【Linux】传输层协议UDP
linux·运维·udp
Evan芙8 小时前
Bash 变量命名规则与类型使用
linux·运维·开发语言·chrome·bash
濊繵8 小时前
Linux网络--Socket 编程 TCP
linux·网络·tcp/ip
menge23338 小时前
Linux网站搭建
linux·运维·网络