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
相关推荐
清泉影月11 分钟前
Linux:Squid正向代理实现内网访问互联网
linux·运维·服务器
切糕师学AI16 分钟前
ARM 中的 SVC 监管调用(Supervisor Call)
linux·c语言·汇编·arm开发
陌上花开缓缓归以19 分钟前
linux jiffies 初始化不为0问题分析
linux·arm开发
霖霖总总22 分钟前
[小技巧39]Linux 文件与命令查找工具(which、whereis、locate、find)全面解析
linux·运维
xlq2232225 分钟前
6.Linux权限
linux
ayaya_mana38 分钟前
在 CentOS 7/RHEL 7 上安装并切换至新版内核
linux·运维·centos
gzxx2007sddx1 小时前
ubuntu挂载访问windows的共享文件夹
linux·运维·ubuntu·挂载·共享
真的想上岸啊1 小时前
4、修改开发板内核启动日志级别
linux
RisunJan2 小时前
Linux命令-kill(向进程发送信号的核心命令)
linux·运维·服务器
物理与数学2 小时前
linux内核 页缓存的脏页管理
linux·linux内核