到`make`二进制文件的两个不同符号链接:为什么调用结果不同?

时间:2019-05-20 08:58:22

标签: bash makefile gnu-make tmux

设置:tmux中的macOS,bash。我使用通过自制程序安装的make。 在我的Makefile中运行make时,我得到

protoc -I=foo/bar/proto --cpp_out=foo/bar/proto foo/bar/proto/foo.proto
make: *** No rule to make target 'foo/bar/proto/foo.pb.h', needed by 'proto'.  Stop.
make: *** Waiting for unfinished jobs....

当我改为运行gmake时,程序成功:

protoc -I=foo/bar/proto --cpp_out=foo/bar/proto foo/bar/proto/foo.proto
protoc -I=foo/bar/proto --python_out=foo/bar/proto foo/bar/proto/foo.proto

但是二进制文件完全相同:

$> readlink -f `which make`
/usr/local/Cellar/make/4.2.1_1/bin/gmake
$> readlink -f `which gmake`
/usr/local/Cellar/make/4.2.1_1/bin/gmake

这怎么可能?


有人建议this question是重复的,似乎并非如此。我知道,系统make不一定是GNU make或当前版本。但如上所述,这两个命令指的是完全相同的二进制文件

0 个答案:

没有答案