Questions tagged «make»

对于与make有关的问题,该实用程序通过管理目标之间的依赖关系来自动执行构建过程。使用此标记可解决有关make本身的问题或有关使用make命令行实用程序引起的问题的问题。

8
从源代码构建tmux时,为什么gcc找不到libevent?
我想在没有root访问权限的计算机上安装tmux。我已经编译了libevent并将其安装在其中$HOME/.bin-libevent,现在我想编译tmux,但是configure总是以结尾configure: error: "libevent not found",即使我试图Makefile.am通过修改LDFLAGS和指向libevent目录CPPFLAGS,但似乎没有任何效果。 如何告诉系统在主目录中查找libevent?

4
“安装”命令的目的是什么?
我已经看到install了很多Makefile文件中使用的命令,它的存在和用法让人感到困惑。从联机帮助页看,它似乎是cp功能较少的仿冒品,但我认为除非它具有的优势,否则不会使用cp。这是怎么回事?
49 command-line  make  cp 


1
此Makefile如何使C程序甚至不指定编译器?
我正在使用《高级Linux编程(2001)》[代码]一书中的Makefile 。看到GNU make确实正确编译了代码,甚至没有在Makefile中指定编译器,我感到很奇怪。这就像没有任何食谱的烘烤! 这是代码的最低版本: 测试 int main(){} 生成文件 all: test 并使其真正起作用!这是它执行的命令: cc test.c -o test 我找不到任何有用的文档。这怎么可能? PS另加一点注意:甚至没有指定语言;因为test.c可用,所以GNU make使用cc。如果存在test.cpp或test.cc(不存在test.c),则使用g++(而不是c++)。
41 linux  make  gcc  gnu-make 

9
jemalloc和其他错误使redos在centos 6.4上
我正在使用Redis建立一个新的专用centos 6.4系统。我已经安装了很多次redis,但是从未遇到过这个问题(并且以前从未在centos 6.4上安装过)。 cd redis-2.6.16 sudo make install 错误: MAKE jemalloc cd jemalloc && ./configure --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" /bin/sh: ./configure: Permission denied make[2]: *** [jemalloc] Error 126 make[2]: Leaving directory `/tmp/redis32/redis-3.2.6/deps' make[1]: [persist-settings] Error 2 (ignored) sh: ./mkreleasehdr.sh: Permission denied and later: …
41 centos  make 



8
如何更改用于qmake的Qt版本?
我觉得应该有一个简单的方法来做,但是我的googlefu失败了,所以我非常感谢一些有关如何在进行qmake时切换(甚至永久更改)哪个版本的Qt的信息。如果我问哪个版本,我会得到以下信息: ~ $ qmake --version QMake version 3.0 Using Qt version 5.0.1 in /usr/lib/x86_64-linux-gnu 我已经安装了QtCreator,但是我不确定从这里去哪里。
31 make  qt  qtcreator 

3
什么是.in文件?
有时在项目源中,我会看到“ * .in”文件。例如,一堆“ Makefile.in”。它们是什么意思和/或“ .in”部分是什么意思?我认为这与autoconf或make类似,但我不确定。 我尝试搜索“ .in文件扩展名”,“ autoconf .in文件扩展名”,“ autoconf .in”,“ autoconf点入”和其他变体,但是没有运气。

1
Linux内核构建过程的每个步骤会发生什么?
我已经阅读了许多有关如何构建自定义内核并使用这些内核引导Ubuntu的教程,并成功地遵循了指南和引导的自定义内核,但是我不了解指南中的每个命令的作用以及实际发生的情况。每个命令。 在描述的过程Ubuntu的网站上做了很多工作,用的fakeroot,dpkg,make-kpkg,一些initramfs中,和其他可怕的东西,作品,但根本不帮我明白是怎么回事。 makelinux内核目录的输出是什么? 它会创建“压缩内核映像”吗? “压缩内核映像”文件的名称是什么,它放在哪里? 怎么make modules办? 应该make modules在之前还是之后完成make? 不会make自动构建模块吗? 将新生成的内核添加到可启动内核列表中的过程(用英语,而不仅仅是命令列表)是什么过程? 怎么make install办? 将make install它添加到我的启动内核的列表,以便我没有做任何事情吗? 是否有一个等效的make modules_install?

5
Makefile包含环境文件
我正在尝试在Makefile中包含一些环境变量。env文件如下所示: FOO=bar BAZ=quux 注意没有导致export每个环境变量。如果我在Makefile中添加前导文件export和仅includeenv文件,那么一切都会正常进行。但是我需要保持环境无人值守export。这使我无法仅include envfile在Makefile中使用。 我也尝试过这样做: sed '/^#/!s/^/export /' envfile > $(BUILDDIR)/env include $(BUILDDIR)/env 但是这样做会使make引发错误,因为没有包含env文件。

2
在哪里可以找到“ make”错误代码列表?
我正在尝试使用make(我有一个Makefile,并且在包含Makefile的目录中键入命令$ make target,其中“ target”是我的Makefile中存在的系统特定的目标规范)编译用Fortran编写的程序。在尝试对目标规范进行各种修订时,尝试调用时经常会收到各种错误消息,下面make举几个例子: make[1]: Entering directory /bin/sh: line 0: test: too many arguments ./dpp angfrc.f > angfrc.tmp.f /bin/sh: ./dpp: Permission denied make[1]: *** [angfrc.o] Error 126 make[1]: Leaving directory make: *** [cmu60] Error 2 和 make[1]: Entering directory /bin/sh: line 0: test: too many arguments ./dpp -DSTRESS -DMPI -P …

3
如果命令失败,不要停止makeing,但是要检查退出状态
我试图指示GNU Make 3.81在命令失败的情况下不要停止(所以我在命令前加上-),但我也想检查下一条命令的退出状态并打印出更多信息。但是我的以下Makefile失败: $ cat Makefile all: -/bin/false ([ $$? -eq 0 ] && echo "success!") || echo "failure!" $ $ make /bin/false make: [all] Error 1 (ignored) ([ $? -eq 0 ] && echo "success!") || echo "failure!" success! 为什么上面的Makefile会回显“成功!”。而不是“失败!” ? 更新: 遵循并扩展已接受的答案,下面是应如何编写: failure: @-/bin/false && ([ $$? -eq …
22 make  gnu-make 

2
在Makefile中检查环境变量的值
我有一个Makefile目标,在其中必须检查环境变量的值。但是,我没有确切的语法。努力尝试,但找不到。任何帮助表示赞赏。 环境变量名称:TEST,其值:“ TRUE” test_target: ifeq ($(TEST),"TRUE") echo "Do something" endif 我收到以下错误: /bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"' /bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'
21 shell  make 

3
从源安装。如何在不破坏软件包管理器的情况下解决依赖关系
编译和安装软件是我无法克服的痛苦和问题。我只想与更多知识渊博的人深入了解此过程,以清除自己的想法,进入下一个层次。 我需要的许多科学软件都没有作为软件包分发。我知道“ ./configure”会设置编译变量,并检查依赖项“ make”是否会在编译“ sudo make install”时将所有库和bin放在它们的位置。但是,它永远都行不通。我很少离开a)“ ./configure”阶段而不进入依赖地狱,并且如果这样做,b)“ sudo make install”可能会破坏我的盒子。 a)依赖地狱非常令人沮丧。有时我有图书馆,但它不喜欢它。或库不想安装。或“配置”找不到它。或者我的发行版将其放置在不应放置的位置。或者我的系统中有两个版本。问题是,我不明白如何诊断并解决这些问题。对于不需要成为程序员的人,有哪些好的学习参考? b)我的理解是“ make install”将替换一些库并更改设置,而我的软件包管理器没有意识到这一点。因此,某些程序将无法运行,其他程序将无法更新。因此,如果我不使用“ make install”,而只是将编译后的二进制文件保留在用户目录中,并在路径中添加了符号链接,我会很清楚吗? 我的机器是单用户的,具有大量的免费高清,所以我真的不关心拥有多个(几十个)库副本是否可以解决我的问题。空间便宜。

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.