ccache and -MMD / *.d issue

Conrad Scott Conrad.Scott@dsl.pipex.com
Tue Jun 11 01:51:00 GMT 2002


"Christopher Faylor" <cgf@redhat.com> wrote:
> >What *is* an issue (if anyone's still listening to my witterings) is the
> >Makefile in the cygwin source directory. If you compile from the top
level,
> >the -MMD flag gets lost, while if you compile in the cygwin directory
> >itself, it's fine.
>
> I don't know what you mean by "top level" but if you compile from the
> winsup directory, it doesn't happen that way here (obviously?).

By top-level, I meant the `obj' directory, i.e. (ascii art time):

    .../src/
            newlib/
            winsup/
                cygwin/
                utils/
    .../obj/
            i686-pc-cygwin/
                newlib/
                winsup/
                    cygwin/
                    utils/

That is, if you compile in the .../obj/i686-pc-cygwin/winsup/cygwin
directory (or in the .../obj/i686-pc-cygwin/winsup directory, as you point
out), you get the .d files created; but if you compile from the obj
directory itself (i.e. to build newlib as well as cygwin), you don't get any
.d files (in the cygwin directory).

I assume (but I've assumed too much recently to be confident about anything
anymore) that this is because the top-level (.../obj) Makefile defines
CFLAGS (without including -MMD) and this interferes with the definition in
.../obj/i686-pc-cygwin/winsup/cygwin/Makefile. But I'm not awake enough
right now to figure out recursive makefile issues.

(The makefile in the bzip2 directory doesn't suffer this problem by the
way.)

Really strangely, the -fbuiltin from the CFLAGS gets picked up but not
the -MMD from the same CFLAGS+=... statement in .../cygwin/Makefile. I'm
totally confused is all I can say.

I've attached the result of running make in the .../obj directory with just
a single .o file removed in the .../obj/i686-pc-cygwin/winsup/cygwin
directory. The build command includes -fbuiltin but not -MMD. What gives?

I think it's time for bed is presumably what gives.

// Conrad

-------------- next part --------------
A non-text attachment was scrubbed...
Name: make.log.bz2
Type: application/octet-stream
Size: 3956 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20020611/62c84d74/attachment.obj>
-------------- next part --------------
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


More information about the Cygwin mailing list