Tag: makefile

如何从命令行将parameter passing给Makefile?

如何从命令行将parameter passing给Makefile? 我明白我能做到 $ make action VAR="value" $ value 与Makefile VAR = "default" action: @echo $(VAR) 我如何得到以下行为? $ make action value value ? 怎么样 $make action value1 value2 value1 value2

如何在Makefile中定义几个includepath

新的C ++; 对包含,库和编译过程的基本了解。 做了几个简单的makefiles呢。 我目前的项目涉及到使用informix数据库api,我需要包含多个非标准dir头文件。 如何写? 没有发现任何networking上,可能是因为我没有使用好的search条件 这是我尝试的一种方式(不工作)。 只是为了显示makefile LIB=-L/usr/informix/lib/c++ INC=-I/usr/informix/incl/c++ /opt/informix/incl/public default: main main: test.cpp gcc -Wall $(LIB) $(INC) -c test.cpp #gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp clean: rm -r test.o make.out

DESTDIR和PREFIX的

我正在尝试将软件安装到特定的目录。 我find了几种方法,但不知道它们之间有什么区别。 ./configure –prefix=*** make install –prefix=*** make install DESTDIR=*** make install prefix=*** 我对这三者的function感到困惑。 他们是否达到了相同的目标?

进行安装,但不是默认目录?

我想运行“make install”,所以我有我需要的一切,但我想它安装在自己的文件夹中的东西,而不是系统的/ usr / bin等是可能的吗? 即使它引用/ usr / bin等工具?

如何在Windows上使用GNU Make?

我安装了MinGW和MSYS,添加了C:\MinGW\bin到PATH但我仍然无法在Windows的cmd上运行Makefile。 我想运行cmd.exe,并在那里键入,例如, make all但我的CMD说,没有这样的命令。 我该怎么办? 我不想使用MSYS shell,那不是重点。 任何想法如何在Windows cmd中使用GNU Make,因为我可以在Ubuntu中做到这一点? 我对Cygwin不感兴趣。

CFLAGS vs CPPFLAGS

我知道CFLAGS(或CXXFLAGS for C ++)是用于编译器的,而CPPFLAGS是由预处理器使用的。 但是我还是不明白其中的差别。 我需要为#include包含的头文件指定一个包含path,因为#include是一个预处理指令,是预处理器(CPPFLAGS),我唯一关心的是什么? 在什么情况下,我需要给编译器一个额外的包含path? 一般来说,如果预处理器find并包含所需的头文件,为什么需要被告知额外的包含目录呢? 什么是CFLAGS? (在我的例子中,我发现这两个都允许我编译我的程序,这增加了混淆…我可以使用CFLAGS 或 CPPFLAGS来实现我的目标(至less在autoconf中)。

如何从另一个Makefile调用Makefile?

我得到一些意想不到的结果从另一个调用一个生成文件。 我有两个makefile,一个叫/path/to/project/makefile ,一个叫/path/to/project/gtest-1.4.0/make/Makefile 。 我试图让前者称呼后者。 在/ path / to / project / makefile中,我有 dev: $(OBJ_FILES) $(CPPC) $(LIBS) $(FLAGS_DEV) $(OBJ_FILES) -o $(BIN_DIR)/$(PROJECT) $(MAKE) -f ./gtest-1.4.0/make/Makefile clean: rm -f ./*~ ./gmon.out ./core $(SRC_DIR)/*~ $(OBJ_DIR)/*.o rm -f ../svn-commit.tmp~ rm -f $(BIN_DIR)/$(PROJECT) make -f gtest-1.4.0/make/Makefile clean 并在/path/to/project/gtest-1.4.0/make/Makefile我有 all: $(TESTS) clean: rm -f $(TESTS) gtest.a gtest_main.a *.o 发布以下内容: cd /path/to/project […]

@:(在符号冒号)在Makefile中是什么意思?

下面在Makefile中做了什么? rule: $(deps) @: 我似乎无法在make手册中find这个。

你可以使没有制表符的有效的Makefiles?

target: dependencies command1 command2 在我的系统(Mac OS X)上,似乎要求Makefiles在每个command行的内容之前都有一个制表符,否则会引发语法错误。 创build或编辑Makefiles时,这是一个烦恼,因为我的编辑器设置为全空白。 你可以使没有制表符的有效的Makefiles?

Cmake vs制作示例代码?

我想知道是否有任何Makefile ( make )和CMakeLists.txt ( cmake )的代码都做同样的事情(唯一的区别是一个是写在make和另一个在cmake )。 我试图寻找'cmake vs make',但我从来没有find任何代码比较。 理解差异是非常有用的,即使只是一个简单的例子。