1

g77中的makeand选项是什么意思?shell例如,如果我的 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)
4

1 回答 1

1

这些只是保存计算机上程序位置的变量。可能会有$(SHELL) a_shell_script.sh使用这些变量的规则。、和类似FC,只是没有明确列出路径。将程序作为变量可以很容易地更改它们,例如,如果您想使用不同的版本。CDLNRM

您的错误看起来像 shell 正在尝试运行命令Making。一个可能的原因是前面有一个未定义的变量,例如规则

all:
    $(ECHO) Making something

它将扩展到Making somethingwhen run 而不是echo Making something. 没有看到我能想到的最好的相关行。

于 2010-01-14T05:41:15.193 回答