makefile变量就像环境变量,事实上环境变量在make过程中被解释成make的变量。这些变量是大小写敏感的,一般都定义成大写。它们可以在任何地方被引用,如: a) 存贮一个文件名列表 b) 存贮可执行文件名 c) 存贮编译器旗标,如果你想给你所有的编译命令传递一组相同的选项,可以把这组选项存入一个变量。 要设定一个变量,只有在一行开始的写下这个变量的名字,后面跟一个=,后面跟你要设定的这个变量的值。以后要引用,写一个$...
在makefile中引用环境变量是否都要以诸如下面的方式 $(HOME) 这个不是shell中命令替换的格式么:)为何makefile中不和普通shell中一样以$HOME的方式来引用环境变量呢?
想在某个段中判断一个条件, 根据不同条件去执行不同的指令, 这样的makefile该怎么写? [code] all: # 判断DEBUG变量是否有设置 strip *[/code]
#include
在makefile中 SOURCES = 1.c 2.c 3.c list: for i in $(SOURCES);do \ echo $$i; \ done 执行make list 为什么必须用$$才能正确输出呢? [ 本帖最后由 x4ulocca 于 2007-12-30 11:29 编辑 ]
大家好,我需要在UltraSparcII, solaris10上重新编译64bit版本的MySQL 5.0.19,因此增加了-m64参数,但发现configure以后,部分目录下的makefile的CFLAGS变量加入了-m64,但部分目录下的makefile却没有-m64,导致链接出现32bit和64bit不兼容的问题。 我的configure如下: CFLAGS="-g -m64 -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings...
.cpp.o: @echo "\n\tBuilding $@ ...\n" xlC -c -g $(INCDIR) $< $< 被称为自动化变量,表示该规则中所有依赖目标的集合 但上述规则无依赖目标,但是我编译时我发现$<应该是有值的,谁能帮忙解释一下?