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