Processing math: 100%

04.makefile(下)

◊基本框架:

a)         Make常用内嵌函数

b)         多级目录Makefile的编写

 

4.1Make常用内嵌函数

函数调用的一般形式:$(function  arguments(参数))

  1)        $(wildcard PATTERN) :   匹配当前目录下指定模式的文件

        例子:src=$(wildcard  *.c)

  2)        模式替换函数 

        例子:$(src:.c=.o)

  3)        Shell函数:           执行shell命令

        例子:$(shell  ls  –d  */)

4.2多级目录Makefile的编写

4.2.1多级目录,只生成一个可执行文件的Makefile的编写

  一个比较好的例子(值得参考):

  .PHONY:  all  clean

  CC = gcc

  CFLAGS =  -Wall  –g

  BIN = main

  SUBDIRS = $(shell ls  –d  */)

  SUBSRC = (shellfind(SUBDIRS)  -name  ‘*.c’)

  SUBOBJ = $(SUBSRC: .c=.o)

  ROOTSRC = $(wildcard *.c)

  ROOTOBJ = $(ROOTSRC:.c=.o)

  OBJS = (ROOTOBJ)(SUBOBJ)

  all:$(BIN)

  (BIN):(OBJS)

           (CC)(CFLAGS) o@

  %.o:%.c

           (CC)(CFLAGS) –c <o@

  clean:

           rm –f (BIN)(OBJS)

4.2.2 多级目录,生成多个可执行文件的Makefile的编写:

      $(CURDIR) :表示当前文件夹。

      难度较大,先简单了解下。

4.3Makefile编写总结:

  1)一个目录下,一个可执行文件的编写;

  2)一个目录下,多个可执行文件的编写;

  3)多级目录下,一个可执行文件的编写;

  4)多级目录下,多个可执行文件的编写。

  前三种Makefile文件的编写自己应该掌握。

posted @   那一抹斜阳  阅读(108)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示