Tag: makefile

如何将一个命令的输出分配给一个Makefilevariables

我需要有条件地执行一些make规则,只要安装的Python大于某个版本(比如说2.5)。 我以为我可以做一些像执行: python -c 'import sys; print int(sys.version_info >= (2,5))' 然后使用输出(如果可以,则为'1',否则为'0')在ifeq make语句中。 在一个简单的bash shell脚本中,它只是: MY_VAR=`python -c 'import sys; print int(sys.version_info >= (2,5))'` 但是这在Makefile中不起作用。 有什么build议么? 我可以使用任何其他明智的解决方法来实现这一点。

在远程Linux机器上编译C ++ – “检测到时钟歪斜”警告

我通过PuTTY和WinSCP连接到我大学的小型Linux集群,使用后者传输文件,并与前者编译和运行。 到目前为止,我的工作是在大学的实验室进行的,但今天我在家里做了一些工作,产生了一个有趣的警告。 我上传了一个完整的文件夹,运行make命令后,我把它作为输出的最后一行: make:警告:检测到时钟歪斜。 您的构build可能不完整。 生成的二进制文件正常工作,在构build过程中似乎没有任何其他意外的错误。 我似乎能够通过上传一些新的/replace文件(我在本地编辑一切,然后上传新版本)后build立触发错误,所以我想知道是否是一样简单的文件修改时间不匹配? 还是更关心一些? 那么,我应该担心吗? 我如何解决/防止这个?

使用Makefile和cmake编译代码之间的区别

我在C / C ++上编码并使用(GNU)Makefile来编译代码。 我可以用cmake做同样的事情,并得到一个MakeFile。 不过,我不明白使用Makefile和cmake编译代码有什么区别。

为什么没有人使用make for Java?

几乎所有我见过的Java项目都使用Maven或Ant。 他们是很好的工具,我认为任何项目都可以使用它们。 但是发生了什么? 它用于各种非Java项目,并可以轻松处理Java。 当然,如果你使用Windows,你必须下载make.exe,但Ant和Maven也不能使用JDK。 与Java一起使用时,是否存在一些基本缺陷? 仅仅是因为Ant和Maven是用Java编写的?

如何在makefile中打印出一个variables

在我的makefile中,我有一个variables'NDK_PROJECT_PATH',我的问题是如何编译时打印出来? 我读取显示“$ PATH”string的文件回显 ,我试着: @echo $(NDK_PROJECT_PATH) @echo $(value NDK_PROJECT_PATH) 两者都给我 "build-local.mk:102: *** missing separator. Stop." 任何人都知道为什么它不为我工作?

用g ++编译使用多核

快速的问题:编译器标志是什么让g ++能够产生多个自己的实例,以便更快地编译大型项目(例如,一个多核CPU的4个源文件)? 非常感谢。

什么是makeinfo,我如何得到它?

我试图构buildGNU grep,当我运行make时,我得到: [snip] /bin/bash: line 9: makeinfo: command not found 什么是makeinfo,我如何得到它? (这是Ubuntu,如果它有所作为)

我怎样才能configuration我的生成文件的debugging和发布版本?

我有我的项目以下的生成文件,我想configuration它的发布和debugging版本。 在我的代码中,我有很多#ifdef DEBUGmacros,所以只需要设置这个macros并将-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 -c Command.cpp clean: […]

在Unix中,我可以在目录中运行'make'而不用先到那个目录cd?

在Unix中,我可以在目录中运行“make”,而不用先到那个目录cd?

如何在Makefile中编写循环?

我想要执行以下命令: ./a.out 1 ./a.out 2 ./a.out 3 ./a.out 4 . . . and so on 如何把这个东西写成一个Makefile的循环?