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 小时前
Kubernetes Pod 初始化容器(InitContainer)起不来的排错思路
linux·运维·服务器
运维有小邓@8 小时前
如何在 Linux 中查看系统日志消息
linux·运维·服务器
天边一坨浮云9 小时前
Ubuntu(PC)遇到的各种问题-EXT4-fs(vdb): VFS: Can‘t find ext4 filesystem
linux·ubuntu
大母猴啃编程9 小时前
线程概念与控制
linux
YQ_019 小时前
【Linux】解决两个USB设备VID/PID/序列号全一样无法区分的问题 (udev物理端口绑定)
linux·运维·服务器
峥嵘life10 小时前
Android16 EDLA中GMS导入和更新
android·linux·学习
haluhalu.10 小时前
深入理解Linux信号机制:中断、用户态与内核态
linux·运维·服务器
二哈喇子!10 小时前
Linux系统配置jdk
linux·运维·服务器·jdk
dddddppppp12310 小时前
linux 块设备驱动程序之helloworld
linux·服务器·网络
一颗青果10 小时前
DNS | ICMP
linux·网络