Linux 程序员必须掌握 Makefile工程项目管理器

本文详细介绍了Linux程序员必备的Makefile知识,包括规则、目标与依赖、伪目标、变量用法、通配符模式匹配、内置函数、循环以及如何指定makefile。通过实例展示了如何编译多个目标文件生成多个或一个可执行程序。



概述

在这里插入图片描述

规则、目标文件和依赖文件

在这里插入图片描述

示例

在这里插入图片描述

伪目标

在这里插入图片描述

变量

在这里插入图片描述
在这里插入图片描述


预定义变量

在这里插入图片描述
在这里插入图片描述

自动变量

在这里插入图片描述

使用了变量的 Makefile 示例

在这里插入图片描述

通配符和模式匹配

在这里插入图片描述

内置函数

在这里插入图片描述

循环

在这里插入图片描述

指定makefile名字的make操作

在这里插入图片描述

两种十分通用的 Makefile 演示


第一种: 同时编译多个目标文件,并分别生成多个可执行程序

  1 CC := gcc
  2 SRCS := $(wildcard *.c)
  3 BINS := $(SRCS:%.c=%)
  4 all: $(BINS)
  5 %: %.c
  6     $(CC) $< -o $@
  7     .PHONY:clean
  8 clean:                                                                                                                                              
  9     rm $(BINS)
 10 
~                        

第二种: 同时编译多个目标文件,生成一个可执行程序

  2 srcfiles := $(wildcard *.c)
  3 OBJS:=$(patsubst %.c, %.o,$(srcfiles))
  4 CC:=gcc
  5 $(out):$(OBJS)
  6     $(CC) $^ -o $@
  7 %.o:%.c  # 在依赖文件中找到后缀为.o 的文件,之后根据.o 文件的文件名找同名的.c文件 。使用*c,会在当前目录进行匹配
  8     $(CC) -c $^ -o $@                                                                                                                               
  9 .PHONY:clean rebuild
 10 rebuild: clean main
 11 clean:
 12     rm -rf *.o $(out)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值