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
相关推荐
三千里1 小时前
ZSH的简单配置
linux·zsh·terminal
提伯斯6462 小时前
解决Fast-Drone-250编译相关错误
linux·ros·无人机·fast-drone
liulilittle2 小时前
过冲:拥塞控制的呼吸与盲行
linux·网络·c++·tcp/ip·计算机网络·tcp·通信
无足鸟ICT2 小时前
【RHCA+】三种工作模式
linux
Dlrb12112 小时前
Linux系统编程-会话、守护进程与系统日志
linux·守护进程·会话·进程组·系统日志
赵民勇2 小时前
Linux strings命令详解
linux·运维
GongzZz3 小时前
Linux 内存分配差异:用户空间 vs 内核空间
linux
敲代码的瓦龙3 小时前
操作系统?Android与Linux!!!
android·linux·运维
xiaoye-duck3 小时前
《Linux系统编程》Linux 进程信号深度解析(上):信号的产生方式、本质和闹钟
linux
Dxy12393102163 小时前
BAT 窗口不输出日志:三种静默方案,从半隐藏到完全消失
linux·运维·服务器