Makefile

简单示例

src = $(wildcard ./*.c)
objs = $(patsubst %.c, %.o, $(src))
target = app

$(target):$(objs)
  $(CC) $^ -o $@

%.o:%.c
  $(CC) -c $< -o $@

.PHONY:clean
clean:
  rm -f $(objs) $(target)

预定义变量

AR : 归档维护程序的名称,默认值为 ar
CC : C 编译器的名称,默认值为 cc
CXX : C++ 编译器的名称,默认值为 g++
$@ : 目标的完整名称
$< : 第一个依赖文件的名称
$^ : 所有的依赖文件

函数

wildcard

示例:$(wildcard ./*.c)

获取指定目录下指定类型的文件列表,返回的结果是 add.c sub.c mult.c div.c main.c

patsubstr

示例:$(patsubst %.c, %.o, x.c bar.c)

将 x.c bar.c 中符合模式 %.c 的单词替换为 %.o,返回结果是 x.o bar.o

原文链接: https://www.cnblogs.com/cong0221/p/17039892.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Makefile

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/311016

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午11:49
下一篇 2023年2月16日 上午11:49

相关推荐