このメイクファイルが非常に些細なものであることは知っていますが、それを学習して適用しようとして、いくつかのチュートリアルと例を読んでいます。私が示したものに何か問題がありますか、またはこれは私が示したインクルードで動作する必要がありますか?
すべてのファイルはCWD
、make が実行される場所にあります。
これが私の依存関係のリストです。
CT.c includes: studio.h, math.h, "CT.h", "TM.h"
CT.h includes: none
TM.c includes: "TM.h", stdio.h, math.h
TM.h includes: none
RP.c includes: "CT.h", math.h, fftw3.h, stdio.h, stdlib.h, "TM.h"
RP.h includes: fftw3.h
RF.c includes: "RF.h", stdlib.h, stdio.h
RF.h includes: none
DR.c includes: stdio.h, math.h, "DR.h"
main.c includes: "CT.h", "DR.h", "TM.h", "RP.h", "RF.h", stdio.h, math.h, time.h, stdlib.h, fftw3.h
動作していないメイクファイルは次のとおりです。
RFST: main.o CT.o TM.o RP.o RF.o DR.o
gcc -L/home/me/projects/RFST/libs -o RFST main.o CT.o TM.o RP.o RF.o DR.o -lfftw3 -lasc -lmfhdf -ldf -lz -ljeg -lm
main.o: main.c CT.h TM.h RP.h RF.h DR.h
gcc -I. -c main.c
CT.o: CT.c CT.h TM.h
gcc -I. -c CT.c
TM.o: TM.c TM.h
gcc -I. -c TM.c
RP.o: RP.c RP.h CT.h TM.h
gcc -I. -c RP.c
RF.o: RF.c RF.h
gcc -I. -c RF.c
DR.o: DR.c DR.h
gcc -I. -c DR.c
メイクファイルを実行しようとすると、何かが宣言されていないと文句を言いますが、それらはすべて、含まれているさまざまなヘッダー ファイルで宣言されています。
例:
'vA' undeclared(first use in this function)
'Variables' undeclared(first use in this funcion)
Variables vA[];
main.c にあります。
Variables
はstruct
in でDR.h
あり、main.c に含まれています。