On Tue, Sep 30, 2014 at 7:48 AM, <[email protected]> wrote:

>
> Compile: Dma.c -> Dma.o
> Link: Dma.o -> DMA.out + DMA.mdf
>
> The file I want is DMA.out, but the linker will also create DMA.mdf. It is
> not possible to turn off this behavior. Both files will have a slightly
> different time-stamp according to Windows, but the mtime seems to be
> low-res enough to be the same.
>

The fact that the two outputs have slightly different timestamps shouldn't
matter - tup should be stat()ing them each separately and recording each
timestamp individually.


>
> The following things can be observed:
>
> *) After calling tup for the first time in the project directory I get the
> following related entries in .tup/db, table "nodes":
>
> id      dir     type    mtime           srcid       name
> 9       8       2       -1              -1          DMA
> 10      9       0       1409313151      -1          Dma.c
> 614     9       4       1411982330      9           Dma.o
> 615     9       1       1573            -1          ^ CC Dma.c^ cctc.exe
> -co -o Dma.o Dma.c
> 616     9       4       -1              9           DMA.out
> 617     9       4       -1              9           DMA.mdf
> 618     9       1       452             -1          ^ LI DMA.out^ cctc.exe
> -cl -o DMA.out Dma.o
>
> When using Cygwin 'stat -c "%y %Y %n" *' to inspect the mtimes of these
> files I get the following:
>
> 2014-08-29 13:52:31.765693400 +0200     1409313151        Dma.c
> 2014-09-29 11:18:50.212643000 +0200     1411982330        Dma.o
> 2014-09-29 11:18:50.638674400 +0200     1411982330        DMA.out
> 2014-09-29 11:18:50.643674900 +0200     1411982330        DMA.mdf
>
> ==> Why does tup save the correct mtime for the generated Dma.o file, but
> not for DMA.out and DMA.mdf?
>

I'm not sure... this is very odd. Can you try a few things to see if we get
any clues?

1) Try replacing the linker with a simple rule like ': Dma.o |> touch %o |>
DMA.out DMA.mdf' - do you get the timestamps on the first run in this case?
If there's a way to reproduce it without the custom toolchain, that will
help me be able to look at it as well

2) Try changing the linker rule to do: cctc.exe -cl -o DMA.out Dma.o &&
stat DMA.out
 - Does the stat find DMA.out and report a valid mtime?

Thanks,
-Mike

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to