LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1249|回复: 2

makefile问题

[复制链接]
发表于 2007-8-26 13:16:45 | 显示全部楼层 |阅读模式
ldd2中的scull的mekafile中有以下代码:
depend .depend dep:
        $(CC) $(CFLAGS) -M *.c > $@


ifeq (.depend,$(wildcard .depend))
include .depend
endif
-------------------------------------
请问:
1.depend .depend dep是伪目标或者多目标吗?为什么要定义3个,这3者之间是什么关系?在直接输入make命令的情况下它们会被执行吗?
2.-M是自动搜索依赖关系吗?
3.为什么ifeq中使用的是.depend而不是depend或dep?
4.$(wildcard .depend)展开的是什么?
发表于 2007-9-24 18:00:11 | 显示全部楼层
1.depend .depend dep 不是伪目标,伪目标必须由 .PHONY 定义
2.-M 会找寻源文件中包含的所有头文件,并生成一个依赖关系
4.$(wildcard .depend) 展开的结果,如果当前目录下存在 .depend 文件,则展开为 .depend,否则展开为空

ifeq (.depend,$(wildcard .depend))
include .depend
endif

意思就是说如果存在 .depend 文件就包含之
回复 支持 反对

使用道具 举报

发表于 2007-9-25 21:57:49 | 显示全部楼层
ot@linux-58 scull]# make depend
cc -O2 -M *.c > .depend
access.c:22:42: linux/slab.h: No such file or directory
access.c:27:24: linux/cdev.h: No such file or directory
main.c:19:31: linux/moduleparam.h: No such file or directory
main.c:23:48: linux/slab.h: No such file or directory
main.c:29:28: linux/seq_file.h: No such file or directory
main.c:30:24: linux/cdev.h: No such file or directory
main.c:33:50: asm/uaccess.h: No such file or directory
pipe.c:18:31: linux/moduleparam.h: No such file or directory
pipe.c:21:48: linux/slab.h: No such file or directory
pipe.c:28:24: linux/cdev.h: No such file or directory
pipe.c:29:25: asm/uaccess.h: No such file or directory
scull.mod.c:2:28: linux/vermagic.h: No such file or directory
make: *** [depend] Error 1


不知道depend  有什么用?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表