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
相关推荐
馨谙8 分钟前
网络文件系统(NFS)完全指南:从入门到实战
linux·unix
emiya_saber11 分钟前
Linux 硬盘分区管理
java·linux·网络
大聪明-PLUS2 小时前
Docker 的底层工作原理
linux·嵌入式·arm·smarc
WDLOVELONGLONG2 小时前
与实验室服务器互相ping
linux·服务器·网络
间彧2 小时前
Linux常用命令速查表,拿走,不谢
linux
BXS_null2 小时前
windows、linux/ubuntu 系统运用.net core使用Selenium WebDriver实现自动化测试
linux·ubuntu·.netcore
ayaya_mana3 小时前
Linux告别搜索卡顿:解决“Argument list too long”与实现文件内容秒搜
linux·运维·list
lqqjuly4 小时前
Lidar调试记录Ⅰ之Ubuntu22.04虚拟机安装ROS2(无坑版)
linux·ros2·lidar·ubuntu22.04
I · T · LUCKYBOOM4 小时前
构建软RAID磁盘阵列
linux·运维·服务器
IT小白农民工4 小时前
安装SAP Business one for HANA之前的准备
linux·经验分享·sap