Dependencies & Solaris Make
Andrew Pickin
PickinA@logica.com
Wed Jul 17 07:38:00 GMT 2002
Can somebody confirm that gcc 3 and SUNPRO_DEPENDENCIES
dependencies with Solaris make are behaving differently than
version 2.9.5? And is this intended behaviour?
If we consider the make file dependency
.c.o:
@cp $(@:.o=.c) /tmp/tmp.c
gcc -c /tmp/tmp.c -o $@
@rm /tmp/tmp.c
[ Don't ask why I'm doing this, I'm not, but it demonstrates the point ]
Version 2.9.5 produced dependency
main.o: ...
<system headers>
.....
cp main.c /tmp/tmp.c
gcc -g -O2 -c /tmp/tmp.c -o main.o
rm /tmp/tmp.c
Whereas 3.0.4 produces:
main.o: /tmp/tmp.c
...
<system headers>
.....
cp main.c /tmp/tmp.c
gcc -c /tmp/tmp.c -o main.o
rm /tmp/tmp.c
Whereas 3.1.0 produces:
main.o: /tmp/tmp.c
cp main.c /tmp/tmp.c
gcc -g -O2 -c /tmp/tmp.c -o main.o
rm /tmp/tmp.c
I have raised the problem with the System Headers previously
but GCC 3 has introduced a new dependency of object file on the source.
This means that in the best case everything will be compiles twice the
first time around, as Sun's make re-reads the dependency list again and
identifies a new dependency. In the worst case builds fail as temporary
files may nolonger be present.
It this intended behaviour?
AMP
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
More information about the Gcc-help
mailing list