当前位置: 技术问答>linux和unix
makefile 小问题
来源: 互联网 发布时间:2016-03-04
本文导语: abc:hello.o f1.o gcc hello.o f1.o -o test 我写了个测试程序。目标abc 在目录中没有文件,它是个伪目标吗?不好理解。 | makefile不完整 hello.o和f1.o必须有其依赖的文件 hello.o:hello.h gcc hello...
abc:hello.o f1.o
gcc hello.o f1.o -o test
我写了个测试程序。目标abc 在目录中没有文件,它是个伪目标吗?不好理解。
gcc hello.o f1.o -o test
我写了个测试程序。目标abc 在目录中没有文件,它是个伪目标吗?不好理解。
|
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
hello.o和f1.o必须有其依赖的文件
hello.o:hello.h
gcc hello.c -c hello.o
f1.o:f1.h
gcc f1.c -c hello.o
|
target 不一定就是你生成的东西,它只是你在命令行执行make时的一个目标, 具体编译生成什么用gcc -o 指定
|
回1楼:
.c.o 的规则是内置的, 根本不用写呀!如果需要加入对.h文件的依赖, 用gcc -MM 可以自动生成.
这是俺常用的模板:
.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) $