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行目: Making: コマンドが見つかりません

両者に関連性があるかどうかは定かではありません。

編集:これは私の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、およびは似ていますがCD、パスが明示的にリストされていないだけです。プログラムを変数として持つと、たとえば別のバージョンを使用したい場合などに、プログラムを簡単に変更できます。LNRM

あなたのエラーは、シェルがコマンドを実行しようとしているようMakingです。考えられる原因は、ルールなどの未定義の変数がこの前にあることです。

all:
    $(ECHO) Making something

Making somethingの代わりに実行すると展開されますecho Making something。私が考えることができる最高の関連行を見ずに。

于 2010-01-14T05:41:15.193 に答える