[schilytools] Smake doing dependencies twice.

Friedhelm Mehnert lists at friedhelms.net
Sat Mar 11 08:23:52 CET 2023


Hello,

there is a mysterious thing I'm wondering about for some time.

When building the Schilytools on Linux, Schilymake always does it like
this:

> ==> MAKING "all" ON SUBDIRECTORY "SRCROOT/libscg"
> ==> MAKING "all" ON SUBCOMPONENT "SRCROOT/libscg/libscg.mk"
> ==> MAKING DIRECTORY "OBJ/amd64-linux-gcc"
> ==> MAKING DIRECTORY "OBJ/amd64-linux-gcc/man"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsitransp.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsihack.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsiopen.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scgsettarget.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsierrs.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scgtimes.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsihelp.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsiopts.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/rdummy.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsitransp.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsihack.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsiopen.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scgsettarget.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsierrs.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scgtimes.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsihelp.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsiopts.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/rdummy.d"
> ==> COMPILING "OBJ/amd64-linux-gcc/scsitransp.o"
> ==> COMPILING "OBJ/amd64-linux-gcc/scsihack.o"

As you can see, it does the dependencies TWICE.

Gmake does not do this. It also seems to do the dependencies
"backwards".

> make[3]: Entering directory '/usr/local/src/cdrtools/cdrtools-3.02~2023.01.12/libscg'
> ==> MAKING "all" ON SUBCOMPONENT "SRCROOT/libscg/libscg.mk"
> make[4]: Entering directory '/usr/local/src/cdrtools/cdrtools-3.02~2023.01.12/libscg'
> ==> MAKING DIRECTORY "OBJ/amd64-linux-gcc"
> ==> MAKING DIRECTORY "OBJ/amd64-linux-gcc/man"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/rdummy.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsiopts.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsihelp.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scgtimes.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsierrs.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scgsettarget.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsiopen.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsihack.d"
> ==> MAKING DEPENDENCIES "OBJ/amd64-linux-gcc/scsitransp.d"
> ==> COMPILING "OBJ/amd64-linux-gcc/scsitransp.o"
> ==> COMPILING "OBJ/amd64-linux-gcc/scsihack.o"

I have looked through the source and done some experimenting, but I can
not find out, why this happens.

Best Regards
Friedhelm




More information about the schilytools mailing list