私が持っている以下のメイクファイルとディレクトリツリー:いくつか配置されたフォルダとプロジェクトのメイクファイルを書く
- >プロジェクト/ SRC/main.cの、func.c、 Makefileの
- >プロジェクト/ EXE/
- >プロジェクト/ INC/
- >プロジェクト/ OBJ/
cc=gcc
cflags=-c
obj=../obj
exe=../exe
inc=../inc
prog.exe: main.o func.o
$(cc) main.o func.o -o $(exe)/prog.exe
main.o: main.c $(inc)/defs.h
$(cc) $(cflags) main.c
mv main.o $(obj)/
func.o: func.c $(inc)/defs.h
$(cc) $(cflags) func.c
mv func.o $(obj)/
問題は、main.oとfunc.oの2番目のアクション(mvで始まるアクション)が動作しないことです(main.oは/ objディレクトリに移動しません)。 makefileや他の何かの構文に問題はありますか?
「動作しません」:問題をより正確に記述してください。バッテリーを持たないエナジャイザーバニーとチャレンジャーの宇宙船は、どちらも「うまくいかない」が、まったく異なる方法で動作します。 – thiton
CC、CFLAGSなど(すべての大文字と小文字を区別する)を使用することは、長年にわたり行われています。これらは、暗黙のルールを使用するため、多くの場合ルールを指定する必要さえありません。違う名前を使って慣例を誇示するのは賢明ではありません。 –
それは練習 – woryzower