为什么
$(OBJDIR)\%.o:$(SRDDIR)\%.s
$(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o $@
$(OBJDIR)\%.o:$(SRDDIR)\%.c
$(GCC) -c -g -I$(SRCDIR) $(CFLAGS) $< -o $@
发出警告(忽略第一条规则) 在哪里
%.o:%.s
$(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o $@
%.o:%.c
$(GCC) -c -g -I$(SRCDIR) $(CFLAGS) $< -o $@
工作正常,但我将在同一目录中拥有所有源和obj。 我想把objs(从汇编文件和c文件生成)放在一个单独的目录中(我在windows上运行make)。
答案 0 :(得分:1)
尝试使用正斜杠(“/”)而不是向后斜杠(“\”)。
答案 1 :(得分:0)
GCC的-o
标志确定输出文件的位置。
所以如果你改变了,这可能会有用:
%.o:%.s $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o $@
以强>
%.o:%.s $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o myoutputdir/$@