私はMakefile
というマスタを持っており、ディレクトリ内でサブファイルを呼び出します。 これらのサブファイルは、Makefile.am
およびconfigure.ac
ファイルから始まるautotoolsによって生成されます。Makefile:コンパイル出力が表示されないのはなぜですか?
プロジェクト全体の最初のターゲットは共有ライブラリですが、他のターゲットはそれにリンクする実行可能ファイルです(したがって、メインMakefile
に依存関係があります)。
問題は共有ライブラリのコンパイル出力しか見ることができませんが、他のプロジェクトは警告とエラーを印刷しているだけです(ちょっとstderr
のテキストだと思います)。
すべてのプロジェクトがマスターMakefile
の同じルールから呼び出され、すべてのサブファイルが非常に見える構成ファイルから自動生成されるため、この現象の原因を理解できません。
すべてのターゲットをコンパイルマスターMakefile
のスニペットは次のようになります。いずれかの「APPN」の出力ですが
-> Building libMylib
libtool: compile: ppc-linux-gcc -DHAVE_CONFIG_H -I. -I/opt/ELDK/ppc_8xx/usr/include/ -I/opt/ELDK/ppc_8xx/include/ -Wall -std=gnu99 -O2 -MT libMylibF1.lo -MD -MP -MF .deps/libMylibF1.Tpo -c libMylibF1.c -fPIC -DPIC -o .libs/libMylibF1.o
...
libtool: link: ppc-linux-gcc -shared -fPIC -DPIC .libs/libMylibF1.o .libs/libMylibF2.o .libs/libMylibF3.o -Wl,-rpath -Wl,/opt/ELDK/ppc_8xx/lib -Wl,-rpath -Wl,/opt/ELDK/ppc_8xx/lib -lz -lpthread -O2 -Wl,-soname -Wl,libMylib.so.0 -o .libs/libMylib.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libMylib.so.0" && ln -s "libMylib.so.0.0.0" "libawmg.so.0")
libtool: link: (cd ".libs" && rm -f "libMylib.so" && ln -s "libMylib.so.0.0.0" "libMylib.so")
libtool: link: (cd ".libs" && rm -f "libMylib.la" && ln -s "../libMylib.la" "libMylib.la")
-> Build of libAwmg finished.
:
SUBDIRS = libMylib app1 app2 app3
$(SUBDIRS):
$(ECHO) "-> Building [email protected]"
$(MAKE) -C [email protected]
$(ECHO) "-> Build of [email protected] finished."
「のlibmylib」の出力は次のようです:
-> Building app1
app1F1.c: In function `app1F1Func1':
app1F1.c:161: warning: unused variable `varA'
app1F2.c:85: warning: `app1F2FuncX' defined but not used
-> Build of app1 finished.
誰でもお手伝いできますか?
EDIT:
私はそれが「libtoolized」であるので、私は「のlibmylib」でコンパイルのものを見ることができたことが分かりました。 別のプロジェクトを「libtoolize」すると、出力のリンカ部分(libtool: link:...
)が見えます。
ので、make
は$(MAKE)は単にデフォルトでは、「作る」とする等しいこと、ルール内の各ラインのシェル(sh
)を呼び出すことを考えると、make
は冗長である、なぜsubmakeが印刷されていないんそのstdoutに出力しますか?
これが起こるように、どのフラグを渡すことができますか?
submakefilesはautoconfの/ automakeにによって生成されているので、彼らは少し冗長です(と私はそれを投稿していない理由です)。私が端末で直接実行した場合、出力は期待通りに見えます。この問題は、メインのMakefileから呼び出されたときにのみ発生します。上記の私の編集を見てください... – j4x