|
|
|
|
| 请教$(patsubst %.c,%.o....问题 |
 请教$(patsubst %.c,%.o....问题 - dswei [ 2005-06-19 11:49 | 397 byte(s)]
 Re: 请教$(patsubst %.c,%.o....问题 - dswei [ 2005-06-20 15:27 | 232 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
我的Makefile中:
CFILES := main.c lib.c
。。。
for i in $(CFILES); do gcc -o $(patsubst %c,%.o,$$i) $$i; done
。。。
我想把main.c、lib.c编译成main.o、lib.o,Make之后main.c、lib.c被替换成了乱码。
难道$(patsubst %c,%.o,$$i)不是把名称main.c、lib.c替换成main.o、lib.o而已吗?
竟然改变了原文件,实在弄不懂,请指教
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
这个问题没解决,但是可以使用另一种隐含规则的方法来实现:
CFILES := main.c lib.c
OBJFILES := $(patsubst %.c,%.o, $(CFILES))
%.o:%.c
gcc -o $< -o $@
|
|
|
[Original]
[Print]
[Top]
|
|
|