Questions tagged «makefile»

生成文件是构建控制语言/工具生成的输入文件。它指定目标和依赖项以及要执行的相关命令(又称为配方)以更新目标。

7
如何为调试和发布版本配置我的makefile?
我的项目有以下makefile,我想对其进行配置以进行发布和调试。在我的代码中,我有很多#ifdef DEBUG宏,因此只需设置此宏并将-g3 -gdwarf2标志添加到编译器即可。我怎样才能做到这一点? $(CC) = g++ -g3 -gdwarf2 $(cc) = gcc -g3 -gdwarf2 all: executable executable: CommandParser.tab.o CommandParser.yy.o Command.o g++ -g -o output CommandParser.yy.o CommandParser.tab.o Command.o -lfl CommandParser.yy.o: CommandParser.l flex -o CommandParser.yy.c CommandParser.l gcc -g -c CommandParser.yy.c CommandParser.tab.o: CommandParser.y bison -d CommandParser.y g++ -g -c CommandParser.tab.c Command.o: Command.cpp g++ -g …
175 makefile  gnu-make 



11
使用G ++编译多个.cpp和.h文件
我刚刚继承了一些C ++代码,这些代码用一个包含主要功能和许多其他功能的cpp文件编写得很差。也有.h包含类及其函数定义的文件。 到目前为止,该程序是使用命令编译的g++ main.cpp。现在,我将类.h和.cpp文件分开了,我是否需要使用makefile或仍可以使用g++ main.cpp命令?

13
在远程Linux机器上编译C ++-“检测到时钟偏斜”警告
我通过PuTTY和WinSCP连接到我大学的小型Linux集群,使用后者传输文件,并使用前者进行编译和运行。到目前为止,我的工作是在大学的实验室中进行的,但今天我一直在家里做一些工作,产生了有趣的警告。 我上载了整个文件夹,在运行make命令后,将其作为输出的最后一行: make:警告:检测到时钟偏斜。您的构建可能不完整。 生成的二进制文件正确运行,并且在构建过程中似乎没有任何其他意外错误。 我似乎能够通过在上传一些新的/替换文件后生成该错误来触发错误(我先在本地编辑所有内容,然后上传新版本),所以我想知道这是否与不匹配的文件修改时间一样简单?还是更多有关? 所以,我应该担心吗?如何解决/预防这个问题?
168 linux  makefile 

17
为什么没有人使用make for Java?
我见过的几乎每个Java项目都使用Maven或Ant。它们是很好的工具,我认为几乎任何项目都可以使用它们。但是,什么都发生在使?它用于各种非Java项目,并且可以轻松处理Java。当然,如果使用Windows,则必须下载make.exe,但JDK并未随附Ant和Maven。 与Java一起使用时,make是否存在一些基本缺陷?仅仅是因为Ant和Maven是用Java编写的吗?
162 java  ant  makefile  maven 


5
如果未设置变量,则中止makefile
如何基于未设置/赋值makefile的变量来中止make / makefile的执行? 我想到了这一点,但仅在调用者未明确运行目标(即make仅运行)的情况下才有效。 ifeq ($(MY_FLAG),) abort: ## This MUST be the first target :( ugly @echo Variable MY_FLAG not set && false endif all: @echo MY_FLAG=$(MY_FLAG) 我认为这样是一个好主意,但在make手册中没找到任何内容: ifndef MY_FLAG .ABORT endif
150 makefile 



4
抑制makefile中命令调用的回显?
我为分配编写了一个程序,该程序应该将其输出打印到stdout。分配规范要求创建一个Makefile,该文件在被调用make run > outputFile时应运行程序并将输出写入文件,该文件的SHA1指纹与规范中给出的指纹相同。 我的问题是我的makefile: ... run: java myprogram 还将将运行我的程序(例如java myprogram)的命令打印到输出文件,以便我的文件包括多余的行,从而导致指纹错误。 有什么方法可以执行命令而命令调用不回显命令行?
147 linux  unix  makefile  posix 

7
Make:命令失败后如何继续?
该命令$ make all给出了诸如此类的错误,rm: cannot remove '.lambda': No such file or directory因此它停止了。我希望它忽略rm-not-found-errors。我该如何强制制作? 生成文件 all: make clean make .lambda make .lambda_t make .activity make .activity_t_lambda clean: rm .lambda .lambda_t .activity .activity_t_lambda .lambda: awk '{printf "%.4f \n", log(2)/log(2.71828183)/$$1}' t_year > .lambda .lambda_t: paste .lambda t_year > .lambda_t .activity: awk '{printf "%.4f \n", $$1*2.71828183^(-$$1*$$2)}' …
142 makefile 


12
如何检查Makefile中是否存在文件,以便将其删除?
在我的干净部分中,我Makefile试图在永久删除之前检查文件是否存在。我使用此代码,但收到错误。 它出什么问题了? if [ -a myApp ] then rm myApp fi 我收到此错误消息 if [ -a myApp ] /bin/sh: Syntax error: end of file unexpected (expecting "then") make: *** [clean] Error 2
135 makefile 

10
在不同目录中包含源文件的Makefile
我有一个目录结构如下的项目: $projectroot | +---------------+----------------+ | | | part1/ part2/ part3/ | | | +------+-----+ +---+----+ +---+-----+ | | | | | | | data/ src/ inc/ src/ inc/ src/ inc/ 我应该如何编写一个可以在part / src中(或实际在任何地方)的makefile,该文件可以部分地在c / c ++源文件上完成/链接?/ src? 我可以做-I $ projectroot / part1 / src -I $ projectroot / part1 / …
135 linux  makefile 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.