代码之家  ›  专栏  ›  技术社区  ›  Graviton

g77中的make和shell命令选项

  •  1
  • Graviton  · 技术社区  · 15 年前

    怎么办? 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
    

    这是不是意味着 制作 操作需要利用 /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)
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Scott Wales    15 年前

    这些只是保存程序在计算机上位置的变量。可能会有这样的规则 $(SHELL) a_shell_script.sh 使用这些变量。这个 FC , CD , LN RM 类似,它们只是没有明确列出路径。将程序作为变量使更改它们变得简单,例如,如果您想使用不同的版本。

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

    all:
        $(ECHO) Making something
    

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