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
相关推荐
林农9 分钟前
C02S11-Linux系统的安全与控制
linux·云计算
23级二本计科19 分钟前
Linux信号_信号的产生
linux·运维·服务器
北京迅为1 小时前
【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十八章 Qt控制硬件
linux·stm32·单片机·嵌入式硬件
4U2472 小时前
Linux入门之vim
linux·编辑器·vim·命令模式·底行模式
EricWang13583 小时前
[OS] 项目3入手
java·linux·前端
Kalika0-03 小时前
Linux 文件基本属性
linux·运维·服务器·学习
乐茵安全3 小时前
linux基础
linux·运维·服务器·网络·安全·网络安全
写代码的学渣3 小时前
Linux SSH免密登入以及配置脚本
linux·运维
独行soc3 小时前
#渗透测试#SRC漏洞挖掘# 操作系统-Linux系统基础04之内存管理
linux·运维·服务器·安全·自动化