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
相关推荐
wdfk_prog5 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
CheungChunChiu5 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
BlueBirdssh7 小时前
linux 内核通过 dts 设备树 配置pcie 控制器 各种参数和中断等, 那freeRTOS 是通过直接设置PCIe寄存器吗
linux
小目标一个亿7 小时前
Windows平台Nginx配置web账号密码验证
linux·前端·nginx
Aotman_7 小时前
Element-UI Message Box弹窗 使用$confirm方法自定义模版内容,修改默认样式
linux·运维·前端
那些年的笔记9 小时前
Linux屏幕旋转方法
linux·运维·服务器
XiaoHu02079 小时前
Linux网络编程套接字
linux·服务器·网络·git
竹之却9 小时前
CentOS 系列,防火墙相关指令
linux·运维·centos
一颗青果10 小时前
进程组 | 会话 |终端 | 前台后台 | 守护进程
linux·运维·jvm
古城小栈10 小时前
Rust 交叉编译:Windows ====> Linux (musl 静态编译)
linux·windows·rust