当前位置: 技术问答>linux和unix
请问一个make通配符%的问题
来源: 互联网 发布时间:2017-04-27
本文导语: 我要从.asm和.c生成.o文件,这样写 %.o: $*.asm nasm -f elf $*.asm -o $*.o %.o: $*.c gcc -c $*.c 为什么结果是.c能编译,但是.asm却是 *** No rule to make target `XXX.o', needed by `YYYYYYY'. Stop. 其中XXX.o应该是由XXX.asm生成的。 ...
我要从.asm和.c生成.o文件,这样写
%.o: $*.asm
nasm -f elf $*.asm -o $*.o
%.o: $*.c
gcc -c $*.c
为什么结果是.c能编译,但是.asm却是
*** No rule to make target `XXX.o', needed by `YYYYYYY'. Stop.
其中XXX.o应该是由XXX.asm生成的。
听说%是按照前后顺序来找的,应该是先使用.asm生成才对,为什么反而
先使用.c后面又找不到.asm了?
另外,我改成
%.m: $*.asm
nasm -f elf $*.asm -o $*.m
改扩展名为.m(测试过对后面的链接没有影响),还是一样的错误。
请问这种情况下应该怎么写?谢谢各位大大。。
%.o: $*.asm
nasm -f elf $*.asm -o $*.o
%.o: $*.c
gcc -c $*.c
为什么结果是.c能编译,但是.asm却是
*** No rule to make target `XXX.o', needed by `YYYYYYY'. Stop.
其中XXX.o应该是由XXX.asm生成的。
听说%是按照前后顺序来找的,应该是先使用.asm生成才对,为什么反而
先使用.c后面又找不到.asm了?
另外,我改成
%.m: $*.asm
nasm -f elf $*.asm -o $*.m
改扩展名为.m(测试过对后面的链接没有影响),还是一样的错误。
请问这种情况下应该怎么写?谢谢各位大大。。
|
%.o : %.asm
nasm -f elf $^ -o $@
nasm -f elf $^ -o $@
|
google 跟我一起写 Makefile
|
+1