Makefile实例:批量编译多个目标

gist: https://gist.github.com/songtianlun/8984626fd80cd20b7c2e71f95caaf8d1 # Batch Single C file MakeFile # 指定CPU架构 Architecture -> ARCH ARCH ?= CC = $(ARCH)gcc SUFFIX = .c CFLAGS += -Wall -g LD = CUR_SOURCE = $(wildcard *$(SUFFIX)) CUR_TARGETS = $(patsubst %$(SUFFIX), %, $(CUR_SOURCE)) all:$(CUR_TARGETS) # %:%.c 是一个表示与目标相同 文件的模式变量 $(CUR_TARGETS):%:%$(SUFFIX) $(CC) $< $(CFLAGS) -o $@ $(LD)

gist: https://gist.github.com/songtianlun/8984626fd80cd20b7c2e71f95caaf8d1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Batch Single C file MakeFile

# 指定CPU架构 Architecture -> ARCH
ARCH ?=
CC = $(ARCH)gcc
SUFFIX = .c
CFLAGS += -Wall -g
LD =

CUR_SOURCE = $(wildcard *$(SUFFIX))
CUR_TARGETS = $(patsubst %$(SUFFIX), %, $(CUR_SOURCE))

all:$(CUR_TARGETS)

# %:%.c 是一个表示与目标相同 文件的模式变量
$(CUR_TARGETS):%:%$(SUFFIX)
$(CC) $< $(CFLAGS) -o $@ $(LD)

# 指定伪目标
.PHONY:clean all
clean:
-rm -rf $(TARGETS)

参考文献


Makefile实例:批量编译多个目标
https://www.frytea.com/post/20201015065637.html
作者
Tianlun Song
发布于
2020年10月15日
更新于
2024年6月10日
许可协议