请问makefile中如何设置.c文件的路径啊?
偶的文件目录如下:~/module1,~/module2,~/module3,在每一个模块中都有*.c和*.h,并且模块3调用了模块1和模块2中的一个些函数和*.h,我做了一个makefile在~/.目录下,所有的*.c对应的*.o放在一个目录~/output里面,编译的时候提示不知道如何生成*.o,我估计是没有找到*.c的原因,看遍了cc和make的帮助也没有看到如何设置*.c的文件路径,请问这个时候如何在makefile中设置*.c的文件路径啊?偶的环境是SCO UNIXWARE7.1.1,编译器是cc,求各位写makefile的高手帮个忙啊! 问题点数:50、回复次数:5Top
1 楼ag_66(阿Gu)回复于 2005-06-01 23:34:29 得分 0
我用同一个makefile在一个示例程序中使用没有问题,该示例程序的目录结构是~/include和~/src,其中include中存放*.h,src中存放*.c,makefile在src的目录下使用时没有问题,证明makefile没有问题,但是如果把makefile放在~/.这个目录下时,就出现不知道如何生成目标*.o的问题,说明没有找到依赖的*.c文件,请问各位象这种情况应该如何设置*.c的路径啊?Top
2 楼gettext(冰雪之崖)回复于 2005-06-02 02:59:50 得分 20
可以分别在/module1,~/module2,~/module3这三个目录先面写个Makefile, 在~/Makefile里用
make -C modules module2 module3
也可以直接在~/Makefile *.c *.h前面加上目录名。Top
3 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2005-06-02 09:27:46 得分 15
可以直接相对路径 或者include make文件Top
4 楼ag_66(阿Gu)回复于 2005-06-02 12:25:38 得分 0
请问楼上的如何具体设置*.c的文件路径啊?设置了*.c的路径之后如何用在makefile的编译选项中去呢?因为每个模块有相互交叉引用,没有试过为每个模块写一个makefile!感觉sco unixware7.1.1的man手册太简单了,很多solaris中能够用的make选项在这里不能够使用!郁闷啊!Top
5 楼yjf7888(seeking a place 找工作了location:Chengdu)回复于 2005-06-02 12:50:05 得分 15
可以直接给相对路径,不过gettext(冰雪之崖)的方法比较好。Top




