make命令是一个常用的编译命令,尤其在C/C++开发中,make命令通过makefile文件中描述源程序之间的依赖关系进行自动编译;makefile文件是按照规定格式编写,需说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系;首次执行make命令时,编译所有相关文件,之后再执行make命令时,以增量方式进行编译,即只对修改的源文件相关的目标文件进行编译;注:许多tarba            
                
         
            
            
            
            什么是makefilemakefile 定义了一系列的规则来指定,那些文件需要先编译, 那些文件需要重新编译,如何进行链接等操作。makefile 就是 “自动化编译”, 告诉make命令如何编译和链接。makefile 里包含什么内容显示规则隐晦规则变量定义文件指示注释Makefile 的规则target: 目标文件。可以是Object File, 也可以是标签(Lable)prerequisi            
                
         
            
            
            
            Makefile之书写命令 
  2007-09-04 14:59:59 
  
 命令书写位置: 
    1.[Tab]键后 2.依赖规则的分号后 3.注释符:“#”。     
    一、显示命令 
    1.不显示命令: 在命令行前添加@ 
    例如: 
        @echo 正在编译XXX模块...... 
                  
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 15:34:29
                            
                                176阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            规则的命令通常系统中可能存在多个不同的shell。但在make处理makefile过程中,如果没有明确指定,那么对所有规则中命令行的解析使用“/bin/sh”来完成;命令回显:make在执行命令行之前会把执行的命令行输出到标准输出设备。如果规则的命令行以字符“@”开始,则make在执行这个命令时就不会回显这个将要被执行的命令。典型的用法是在使用“echo”命令输出一些信息时。 如:@echo 开始            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 19:53:06
                            
                                627阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            .判断是否为绝对路径:   $(if $(filter /%,$(dir)),$(dir),$(top_dir)/$(dir)).依赖FORCE伪目标来强制执行一个目标,例如:   foo:FORCE       @echo "Hello"   FORCE: ;   不管是否存在foo文件,都会执行echo            
                
         
            
            
            
            前言在 Go 语言开发中,我们希望能够规范代码风格,每个成员在提交时可以一键格式化,同时检查是否有语法错误;我们希望能够一键运行单测,生成单测报告;我们希望能够一键编译、打包、发布项目,这就需要使用到 Make。Make 有很多种,我们常用的就是 GUN Make,有了 Make,我们将极大的提高项目开发、测试、发布的效率。Make 最初是为 C、C++项目的编译、构建服务的,因此有很多为C、C+            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-03 20:48:03
                            
                                255阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、makefile 变量的命令可以包含字符、数字、下划线(可以是数字开头),并且大小写敏感2、makefile 变量在声明的是需要对其进行赋值,而在使用该变量时需要在变量名前加上$符合 例如$(VARNAME),如果用户需要在makefile文件中使用真实的$字符,则使用$$表示。objects = main.o kdb.o
edit : $(objects)
gcc -o edit $(obj            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-02 13:51:30
                            
                                159阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ‘@’ 符号的使用 通常makefile会将其执行的命令行在执行前输出到屏幕上。如果将‘@’添加到命令行前,这个命令将不被make回显出来。 例如:@echo --compiling module----; // 屏幕输出 --compiling module---- echo --compiling module----; // 没有@ 屏幕输出echo --compiling module--            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-13 17:31:21
                            
                                92阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            makefile的使用一、makefile的三要素1、makefile三要素是2、怎么描述三要素之间的关系二、makefile项目管理三、makefile的变量、模式规则1、make变量三大类2、makefile变量的应用3、模式匹配4、默认规则四、Makefile条件分支五、Makefile常用函数1、patsubst:模式替换函数2、notdir:取文件名3、wildcard:获取匹配模式文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-02 05:20:08
                            
                                26阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言本文通过几个简单的示例,可以快速了解Makefile的基本使用方法,适用于编译我们平时练习所编写的小量代码。1. make命令Makefile文件内容:  all为目标,这里没有依赖的文件,这条命令是打印(echo)出“Hello Makefile”这行文字all: 
	echo "Hello Makefile"运行make后,终端打印的内容$ make
echo "Hello Makefil            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-17 00:22:18
                            
                                95阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、命令回显通常,make 在执行命令行之前会把要执行的命令行输出到标准输出设备。我们称之为“回显”,就好像我们在 shell 环境下输入命令执行时一样。但是,如果规则的命令行以字符“@”开始,则 make 在执行这个命令时就不会回显这个将要被执行的命令。典型的用法是在使用“echo”命令输出一些信息时。如:@echo 开始编译 XXX 模块 ......执行时,将会得到“开始编译 XXX 模块.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-26 06:04:40
                            
                                113阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            对于Makefile中的各种变量,可能是我们比较头痛的事了。我们要查看他们并不是很方便,需要修改makefile加入echo命令。这有时候很不方便。其实我们可以制作下面一个专门用来输出变量的makefile(假设名字叫:vars.mk) 
vars.mk 
%: 
        @echo’∗=∗=($*)’d-%: 
        @echo’∗=∗=(∗)′@echo′origin=            
                
         
            
            
            
             '@'  符号的使用       通常makefile会将其执行的命令行在执行前输出到屏幕上。如果将‘@’添加到命令行前,这个命令将不被make回显出来。       例如:@echo --compiling module----; &n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-12 12:23:21
                            
                                82阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、显示命令通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令行前,那么,这个命令将不被make显示出来,最具代表性的例子是,我们用这个功能来像屏幕显示一些信息。如:@echo 正在编译XXX模块…当make执行时,会输出“正在编译XXX模块…”字串,但不会输出命令,如果没有“@”,那么,make将输出:echo 正在编译XXX模块… 正在编译XXX模块…如果ma            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-03 21:02:15
                            
                                198阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在makefile中,会经常使用shell命令,也经常见到$var 和 $$var的情况,有什么区别呢,区别大了。不要认为在makefile的规则的命令行中使用$var就是将makefile的变量和shell共享了,这里仅仅是读取makefile的变量然后扩展开,将其值作为参数传给了一个shell命令。而$$var是在访问一个shell命令内定义的变量,而非makefile的变量。此外,如果某规则            
                
         
            
            
            
            make一些参数选项: -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则。 -n 选项, 只运行,不执行, -d 选项,相当于–debug=a,b(basic),v(verbose),i(implicity),j(innvocation of command),m(remake files)这里着重解释一下 -p,打印变量值使用命令:make -p > xx-p,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-12 19:48:28
                            
                                209阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            对于较大项目来说,手工编写Makefile文件非常困难,一是Makefile文件的结构复杂,二是Makefile文件常常会受到开发环境的限制,只要环境参数不同或者更改了路径,就有可能需要修改该文件以适应环境的变化。Autotools是一个系列工具,它可以自动生成Makefile文件,对较大项目的开发提供了有力的支持。 
  Autotools主要包含以下工具: 
  autoscan: 在自            
                
         
            
            
            
            注意: 值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。      可以使用别的文件名来书写Makefile,比如:“Make.Linux”,“Make.Solaris”,“Make.AIX”等,如果要指定特定的Makefile,你可以使用make的“-f”和“--file”参数,如:make -f Make.Linu            
                
         
            
            
            
            关于make与makefilemake工具通过makefile文件描述的规则对工程中的源文件进行自动编译。makefile规则target: prerequisite
        command其中,target为目标文件(.o)或可执行文件(也可为伪目标);prerequisite为target的先决条件;command为命令(command需另起一行且前有tab)。由target、prer            
                
         
            
            
            
            Makefile 中的变量,我们可以利用它来表示某些多处使用而又可能发生变化的内容,不仅可以节省重复修改的工作,还可以避免遗漏。变量的定义 Makefile 文件中定义变量的基本语法如下:变量的名称=值列表Makefile 中的变量的使用其实非常的简单,因为它并没有像其它语言那样定义变量的时候需要使用数据类型。变量的名称可以由大小写字母、阿拉伯数字和下划线构成。等号左右的空白符没有明确的