私はmakefilesが新しく、愚かな質問であれば前もって謝ります。また、私はmakefileからほとんどの変数を削除しました。なぜなら、彼らは正しく動作していなかったからです(gnu makeは$(myvar)がmyvarの値で完全に置き換えられるはずですが、makeの出力はこれが起こっていないことを示していました)。だから私は醜さと80文字以上の行についてお詫び申し上げます。Makeはmakefileに-cをつけても自動的にリンクしようとしています
acolibobj = acoLibInit acoGlobalDefs
acolibinterface: $(acolibobj).o
acoLibInit.o:
gcc -fPIC -g -c -Wall -I/usr/include/dc1394 -o acoLibinit.o acoCommands/acoLibInterface/acoLibInit.c
acoGlobalDefs.o:
gcc -fPIC -g -c -Wall -I/usr/include/dc1394 -o acoGlobalDefs.o acoCommands/acoLibInterface/acoGlobalDefs.c
私は私が手にこのメイクファイルを実行します。これまでのところ、私が言うことができるように、何が起こっていることはmakeはコンパイルとリンクしようとしているということです、私は明示的に-cフラグを追加したにもかかわらず
gcc -fPIC -g -c -Wall -I/usr/include/dc1394 -o acoLibinit.o acoCommands/acoLibInterface/acoLibInit.c
cc acoLibInit.o -o acoLibInit
gcc: acoLibInit.o: No such file or directory
gcc: no input files
make: *** [acoLibInit] Error 1
を。 "gcc -fPIC -g -c ..."を自分で実行すると(bashから)、私は全く問題はありません。 makeが "cc acoLibInit.o -o acolibInit"を試してみる理由は何ですか?