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
相关推荐
天空之外136几秒前
生成一个带 IP 的自签证书、制作Http证书
linux·运维·服务器
释怀不想释怀26 分钟前
linux常见安装(JDK,mysql,nginx)
linux·运维·服务器
杰克崔29 分钟前
do_exit的hungtask问题及coredump的实验及原理分析一
linux·运维·服务器·车载系统
pengdott35 分钟前
Linux进程数据结构与组织方式深度解析
linux·运维·服务器
Java 码农36 分钟前
gitlab gitrunner springboot 多环境多分支部署 (非容器方式,使用原生linux 环境)
linux·spring boot·gitlab
LongQ30ZZ1 小时前
Linux的常见指令
linux·服务器
走向IT1 小时前
vdbench在Centos系统上联机测试环境搭建
linux·运维·centos
阳宗德1 小时前
基于CentOS Linux release 7.1实现了Oracle Database 11g R2 企业版容器化运行
linux·数据库·docker·oracle·centos
liulilittle1 小时前
libxdp: No bpffs found at /sys/fs/bpf
linux·运维·服务器·开发语言·c++
Byte Beat1 小时前
ubuntu安装docker
linux·ubuntu·docker