makefile错误

图片描述

将目录下所有.c文件编译成.o文件.
执行makefile提示错误: make: * 无目标。 停止。

阅读 1.8k
2 个回答

只是生成目标文件的话,不需要-o

*.o: *.c
    gcc -c $^

上面代码错误

src=$(wildcard *.c)
obj=$(patsubst %.c,%.o,$(src))
$obj: $(src)
    gcc -c $(src)

然后就make

把目录下的c文件编译成对应的目标文件

sources = $(wildcard *.c)
objects = $(patsubst %.c,%.o,$(sources))
$(objects) : %.o : %.c
    gcc -c $<
    
all: $(objects)

建议看下makefile的静态模式规则

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进