all: run
run: test.o list.o matrix.o smatrix.o
gcc test.o list.o matrix.o smatrix.o -o matrix-mul
list.o: list.c list.h
gcc -g -c list.c
matrix.o: matrix.c matrix.h
gcc -g -std=c99 -c -o matrix.o matrix.c
smatrix.o: smatrix.c smatrix.h
gcc -g -c -o smatrix.o smatrix.c
test.o: test.c test.h
gcc -g -c test.c
我在製作makefile時遇到了很多問題,終於得到了這個工作。我只是想確保這些都沒問題(不僅僅是爲了讓程序運行,而且是在一個良好的make文件中)make file,這看起來好嗎?
一個問題是,爲什麼matrix.o和smatrix.o在行中有.o文件gcc -g -c ...其中list.o和test.o沒有該行..
我不得不添加-std = c99,因爲我對循環錯誤有些奇怪,不知道爲什麼我需要把matrix.o放在一行..
我告訴你在這裏:http://stackoverflow.com/questions/5432486/make-file-error/5432546#5432546你不需要specyfying輸出名稱(這是我的錯,我把它放在那裏)。循環的東西並不奇怪,c90標準不支持在任何地方創建局部變量,比如在for循環頭文件中,所以你切換到了c99標準。 – 2011-03-25 13:48:01
是的,我在看到你的改正之前寫了這個!謝謝! – codereviewanskquestions 2011-03-25 20:14:13