1

当我调用 make 命令时,命令读取(在屏幕上):

ccppc -I。-I../../h -Wall -fno-builtin -fno-for-scope -mstrict-align -mcpu=604 -DCPU=PPC604 -mlongcall -MT DOE.o -MD -MP -MF .deps/DOE .Tpo -c -o DOE.o DOE.c

我知道-I. -I../../h -Wall -fno-builtin -fno-for-scope -mstrict-align -mcpu=604 -DCPU=PPC604 -mlongcall从哪里来,因为我定义了它们。

AM_CFLAGS=-Wall -fno-builtin -fno-for-scope -mstrict-align -mcpu=604 -DCPU=PPC604 -mlongcall AM_CPPFLAGS = -I../../h

但是,我不知道-MT DOE.o -MD -MP -MF .deps/DOE.从哪里来。我想禁用它。

我深入研究了 Makefile,找到了与-MT DOE.o -MD -MP -MF .deps/DOE..

.c.o:
    $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po

我只想删除-MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo,因为我因此而出错。

4

1 回答 1

2

这些-M标志由 autoconf 添加以启用依赖项跟踪。您可以通过运行指定来禁用它们:

 ./configure --disable-dependency-tracking

一般来说,autoconf应该自己解决这个问题。您是在运行时指定编译器(ccppc对我来说似乎相当不标准)configure还是仅在运行时更改它make

于 2013-10-16T12:56:08.497 回答