|
楼主 |
发表于 2005-9-21 17:37:03
|
显示全部楼层
如果现在gb.o,gy.o,sy.o,shiyan都可以正常生成了,我想在makefile中编写一段小代码,它的作用是判断当前目录中有没有haha这个目录,有的话复制gb.o,gy.o,sy.o到该文件夹中,没有的话创建它,再复制过去,下面是我的makefile,您看看是哪里出现了问题:
#makefile
vpath %.c mk/gb:mk/gy
shiyan:sy.o gy.o gb.o
cc -o shiyan sy.o gy.o gb.o
if [ -f haha ]; then mv *.o haha/ ; \
else mkdir haha;mv *.o haha/; fi
.PHONY:clean
clean:
rm *.o shiyan;
编译时错误如下:
[zhangqing@localhost ctest]$ make
cc -c -o sy.o sy.c
cc -c -o gy.o mk/gy/gy.c
cc -c -o gb.o mk/gb/gb.c
cc -o shiyan sy.o gy.o gb.o
if [ -f haha ]; then mv *.o haha/ ; \
else mkdir haha;mv *.o haha/; fi
/bin/sh: -c: line 2: syntax error: unexpected end of file
make: *** [shiyan] Error 2
这是什么原因啊? |
|