makefile 小问题

chenyuntian 2008-02-15 11:13:24
abc:hello.o f1.o
gcc hello.o f1.o -o test

我写了个测试程序。目标abc 在目录中没有文件,它是个伪目标吗?不好理解。
...全文
80 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bshawk 2008-02-15
  • 打赏
  • 举报
回复
target 不一定就是你生成的东西,它只是你在命令行执行make时的一个目标, 具体编译生成什么用gcc -o 指定
littlefirebug 2008-02-15
  • 打赏
  • 举报
回复
makefile不完整
hello.o和f1.o必须有其依赖的文件
hello.o:hello.h
gcc hello.c -c hello.o
f1.o:f1.h
gcc f1.c -c hello.o
mymtom 2008-02-15
  • 打赏
  • 举报
回复
回1楼:
.c.o 的规则是内置的, 根本不用写呀!如果需要加入对.h文件的依赖, 用gcc -MM 可以自动生成.
这是俺常用的模板:

PROG = hello
SRCS = main.c hello.c
DEPS = $(SRCS:.c=.d)
OBJS = $(SRCS:.c=.o)

RM = rm -f

.SUFFIXES: .d
.c.d:
$(CC) -MM $(CPPFLAGS) $(OUTPUT_OPTION) $<

all: $(PROG)

hello: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) $(OUTPUT_OPTION)

clean:
$(RM) $(OBJS) $(PROG) $(DEPS)

-include $(DEPS)

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧