tom@eng.umd.edu (Tom Riddle) (08/03/90)
Is there a reason why the X and Motif library Makefiles do not take advantage of the library target rule of make? Currently in mit/lib/* and motif/lib/* there are two copies of each object file (the .o file and a copy of it in the .a file), whereas with the library target rule there would only need to be one. This may seem like a minor point since most people probably do a make clean after everthing is installed, but regardless, I think this can be improved. If there is a good reason why things should remain the way they are please let me know, otherwise, I have modified makedepend, defined new macros for imake, and modified the Imakefiles for Motif so that the resulting Makefiles use the library target rule. It would not require much effort to do the same thing for the X libraries and would result in a smaller demand for disk space during the build process. For those unfimilar with the library target rule, it has the following syntax: libname.a: libname.a(obj1.o) libname.a(obj2.o) ... libname.a(objn.o) ranlib libname.a And the dependancies look like this: libname.a(obj1.o): ... libname.a(obj2.o): ... . . . libname.a(objn.o): ... If anyone is interested I can e-mail or post a patch for makedepend, the new macros for imake, and the modified Motif Imakefiles. Tom Riddle CALCE Center University of Maryland, College Park (301) 454-7705 email: tom@eng.umd.edu
mouse@LARRY.MCRCIM.MCGILL.EDU (08/10/90)
> Is there a reason why the X and Motif library Makefiles do not take > advantage of the library target rule of make? > [explanation, giving examples of the libname.a(filename.o) syntax] I don't know why; all I can do is speculate. One possible reason is that some implementations of this syntax are broken. It was long ago, and I do not recall more details than what I can give here, but there was at least one version of make whose handling of that syntax simply didn't work right. I can't recall *what* didn't work; it was more work than it was worth to try to figure it all out. der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu