This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: RFA: automatic dependency tracking
On Wednesday 30 July 2008 20:05:01, Tom Tromey wrote:
> Pedro> I trust Tom. :-)
>
> Thanks. Though... we all make mistakes :)
I trust you to be around to fix them.
> One way you could help move this forward would be to test it on a
> machine that does not have GNU make. I don't have one of these.
As you know, I tested building GDB with BSD make. I used an x86
FreeBSD 6.0-RELEASE.
src/opcodes needs a little tweak to build,
http://sourceware.org/ml/binutils/2008-07/msg00403.html
but other than that, pristine GDB builds fine with BSD make.
> The patch probably doesn't apply cleanly any more. Unfortunately this
> sort of patch requires constant care to keep it up-to-date.
I tested with a checkout of the date of your patch to avoid that issue.
GDB built perfectly with your patch, with BSD make with and
without -j4 and with gmake also {,-j4}, always from a clean build dir.
I used:
>gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.4 [FreeBSD] 20050518
In addition to doing a couple of touch,make tests, to check if
dependencies are being respected with gmake, I tested building gdb
in a clean build dir, waiting a couple of minutes, and then
touching defs.h, and issuing gmake again.
By checking timestamps, I found that these are the files weren't
rebuilt by touching defs.h:
18:19 ..
18:22 .gdbinit
18:22 Makefile
18:22 ada-exp.c
18:22 ada-lex.c
18:22 c-exp.c
18:22 config.cache
18:22 config.h
18:22 config.log
18:22 config.status
18:22 cp-name-parser.c
18:22 doc
18:22 f-exp.c
18:22 gnulib
18:22 jv-exp.c
18:22 m2-exp.c
18:22 nm.h
18:22 objc-exp.c
18:22 observer.h
18:22 observer.inc
18:22 p-exp.c
18:22 stamp-h
18:22 stamp-h1
18:22 stamp-xml
18:22 testsuite
18:22 version.c
18:22 xml-builtin.c
18:23 cp-name-parser.o
18:23 version.o
18:24 xml-builtin.o
With BSD make, touching header files doesn't trigger recompiles, as
expected.
--
Pedro Alves