热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Makefile中常见自动变量和命令行选项

1. Makefile中常见自动变量。 命令格式               

1.  Makefile 中常见自动变量。

 

命 令 格 式                       含     义
$*                      不包含扩展名的目标文件名称
$+                     所有的依赖文件,以空格分开,并以出现的先后为序,可能包含 重复的依赖文件
$<                        第一个依赖文件的名称
$?                     所有时间戳比目标文件晚的依赖文件,并以空格分开
$@                         目标文件的完整名称
$^                       所有不重复的依赖文件,以空格分开
$%                    如果目标是归档成员,则该变量表示目标的归档成员名称

《Makefile 中常见自动变量和命令行选项》

《Makefile 中常见自动变量和命令行选项》

    自动变量的书写比较难记,但是在熟练了之后会非常的方便,请读者结合下例中的自动变量改写的 Makefile 进行记忆。

    OBJS = kang.o yul.o
    CC = Gcc
    CFLAGS = -Wall -O -g
    sunq : $(OBJS)
          $(CC) $^ -o $@
    kang.o : kang.c kang.h
          $(CC) $(CFLAGS) -c $<-o $@
    yul.o : yul.c yul.h
          $(CC) $(CFLAGS) -c $<-o $@

 

 

 

 

2.  make 的命令行选项

命 令 格 式                              含     义
-C dir                        读入指定目录下的 Makefile
-f file                      读入当前目录下的 file 文件作为 Makefile  
-i                              忽略所有的命令执行错误
-I dir                      指定被包含的 Makefile 所在目录
-n                             只打印要执行的命令,但不执行这些命令
-p                           显示 make 变量数据库和隐含规则
-s                                 在执行命令时不显示命令
-w                         如果 make 在执行过程中改变目录,则打印当前目录名

 

 




推荐阅读
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • 本文将探讨如何在一个目录下针对多个源文件编写高效的Makefile,通过实例介绍从基础到高级的Makefile编写技巧。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • andr ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细记录了作者从7月份的提前批到9、10月份正式批的秋招经历,包括各公司的面试流程、技术问题及HR面的常见问题。通过这次秋招,作者深刻体会到了技术积累和面试准备的重要性。 ... [详细]
  • 本文介绍如何在Ubuntu环境下为OpenWrt系统构建并安装首个'Hello World'应用程序的IPK包。文章不仅涵盖了基本的环境搭建,还详细说明了代码编写、Makefile配置及最终的IPK包生成与安装过程。 ... [详细]
  • 本文详细介绍了如何通过修改Lua源码或使用动态链接库(DLL)的方式实现Lua与C++之间的高级交互,包括如何编译Lua源码、添加自定义API以及在C++中加载和调用Lua脚本。 ... [详细]
  • 本文介绍了在Makefile及Android.mk文件中添加打印输出信息的方法,并详细解析了Android编译过程中的关键步骤,包括环境变量的设置与编译脚本的执行。 ... [详细]
author-avatar
HurricaneCC
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有