makefile文件将OBJ文件中单独的目录
问题描述:
$(OBJDIR)\%.o:$(SRDDIR)\%.s
$(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o [email protected]
$(OBJDIR)\%.o:$(SRDDIR)\%.c
$(GCC) -c -g -I$(SRCDIR) $(CFLAGS) $< -o [email protected]
给出警告(说忽略了第一条规则) 其中作为
%.o:%.s
$(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o [email protected]
%.o:%.c
$(GCC) -c -g -I$(SRCDIR) $(CFLAGS) $< -o [email protected]
工作正常,但我将我的所有来源和OBJ文件相同的目录。 我想将objs(从汇编文件和c文件生成)放在一个单独的目录中(并且我正在windows上运行make)。
答
GCC的-o
标志决定输出文件的制作位置。
所以,如果你改变这可能工作:
%.o:%.s $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o [email protected]
TO
%.o:%.s $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o myoutputdir/[email protected]
答
尝试使用正斜杠( “/”),而不是落后者( “\”)。
使用四个空格缩进来获得'monospaced output'。另外,通常你应该使用'$(CC)'来调用编译器,而不是'$(GCC)'。 – 2010-11-03 19:27:54
这应该是'SRCDIR'而不是'SRDDIR'吗? – 2010-11-04 05:25:46