betsy@dartvax.UUCP (Betsy Hanes Perry) (04/10/84)
(please, br'er Fox, don't throw me into that bramble bush!) I need help interpreting the documentation on Ar(1); we're trying to use it, and it doesn't seem to perform as expected. The problem is as follows: here at Dartmouth, we're building a large(600K) C program. It now takes approximately fifteen minutes to reMake this program, even if only one routine has been changed. At the moment, our Make includes the line: cc $(OBJECTS) to reload the object files. It occurred to us that it was wasteful to rebuild the entire object file if we were modifying only one or two routines. It seemed from the documentation that ar might be able to modify ONLY the changed objects, leaving the others intact. So we changed our Make file to read: ar ruv tempint $(OBJECTS) ranlib tempint ld -o int tempint Unfortunately, this doesn't seem to produce a usable binary. Does anybody out there have any clues as to why? (Please reply by mail if possible..) Thank you. Betsy Hanes Perry Lorien Pratt (decvax,linus,cornell)!dartvax!dartlib!(rbetsy,rlorien) -- Betsy Perry UUCP: {decvax|linus|cornell}!dartvax!betsy CSNET: betsy@dartmouth ARPA: betsy%dartmouth@csnet-relay
gwyn@brl-vgr.ARPA (Doug Gwyn ) (04/11/84)
Your problem is almost certainly that ld -o int $(LIBRARY) does not include the run-time startoff nor the -X flag. Why not let "cc" do this for you: cc -o int $(LDFLAGS) ${LIBRARY}