|
|
1
8
我知道,你在试图解决你自己造成的问题。你为什么不把正确的价值
|
|
|
2
13
shell使用 实路径(1) 以及 --相对于 举个例子: RELATIVE_FILE1_FILE2:=$(shell realpath --relative-to $(FILE1) $(FILE2)) 您甚至可以通过调用 实路径(1) 因为它知道如何处理许多文件名。 举个例子: RELATIVES:=$(shell realpath --relative-to $(RELATIVE) $(FILES)) |
|
|
3
6
Python是可移植的!所以,我建议您在子基文件中使用这个简单的示例
子密钥文件.mk
|
|
|
4
3
这里有一个解决方案 使用GNU make函数。尽管它是递归的,但它应该比调用外部程序更有效。这个想法很直截了当:相对路径为零或更多。。上移到最常见的祖先,然后用后缀下移到第二个目录。困难的部分是在两条路径中找到最长的公共前缀。
我最近将一大组递归makefile翻译成了一个完整的项目make,因为众所周知,递归make是不好的,因为它没有公开整个依赖关系图( http://aegis.sourceforge.net/auug97.pdf ). 所有源代码和库路径都是相对于当前makefile目录定义的。我没有定义固定数量的泛型%build规则,而是为每个(源代码目录、输出目录)对创建一组规则,这避免了使用vpath的模糊性。在创建构建规则时,我需要每个源代码目录的规范路径。虽然可以使用绝对路径,但它通常太长,而且不易移植(我碰巧使用了Cygwin GNU make,其中绝对路径有/cygdrive前缀,Windows程序无法识别)。因此,我大量使用这个函数来生成规范路径。 |
|
|
5
2
(没人说一定要漂亮……) |
|
|
6
2
纯品牌的强力滴入式解决方案:
预期结果:
|
|
|
7
0
Perl是可移植的!下面是一个使用核心Perl模块文件::Spec(resp。文件::规范::函数):
|
|
|
Jeremy L. · 在变量名中查找子字符串 1 年前 |
|
|
wvxvw · 在Make规则中将源和目标配对 1 年前 |
|
|
thetango · Makefile:多次执行目标 1 年前 |
|
|
Bokambo · make:MakeFile无需执行任何操作 1 年前 |