make和shell选项在g77中意味着什么?例如,如果我的Makefile中有以下脚本:
FC = g77
FFLAGS = -O2 -mno-cygwin
LDFLAGS =
CD = cd
LN = ln
LNFLAGS = -s
MAKE = /bin/make
RM = rm
RMFLAGS = -f
SHELL = /bin/sh这是否意味着make操作需要使用/bin/make.exe
附带注意:当我使用上面的命令行运行编译时,我得到了一个错误:
/bin/sh:第4行:生成:未找到命令
不确定这两者是否有关联。
编辑:这是我的Makfile:
arpacklib:
@( \
for f in $(DIRS); \
do \
$(CD) $$f; \
$(ECHO) Making lib in $$f; \
$(MAKE) $(PRECISIONS); \
$(CD) ..; \
done );
$(RANLIB) $(ARPACKLIB)发布于 2010-01-14 05:41:15
这些只是保存程序在计算机上的位置的变量。可能会有像$(SHELL) a_shell_script.sh这样的规则使用这些变量。FC、CD、LN和RM是相似的,它们只是没有显式列出的路径。将程序作为变量使更改它们变得非常简单,例如,如果您想使用不同的版本。
您的错误看起来是外壳程序试图运行命令Making。一个可能的原因是前面有一个未定义的变量(如规则)
all:
$(ECHO) Making something它将在运行时扩展到Making something,而不是echo Making something。没有看到相关的线,这是我所能想到的最好的。
https://stackoverflow.com/questions/2062054
复制相似问题