Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!brl-tgr!tgr!cottrell@NBS-VMS From: cottrell@NBS-VMS Newsgroups: net.lang.c Subject: Remake Depend Message-ID: <9507@brl-tgr.ARPA> Date: Tue, 26-Mar-85 13:59:31 EST Article-I.D.: brl-tgr.9507 Posted: Tue Mar 26 13:59:31 1985 Date-Received: Thu, 28-Mar-85 02:02:25 EST Sender: news@brl-tgr.ARPA Lines: 30 /* Kim Walden writes about mkmf... > Unfortunately, mkmf generates wrong dependencies, in most cases, > when generated files are involved. It would probably help to manually make the program first, so that all needed files exist. > I would hardly call standard use of yacc or lex as 'fancy' by > any meaning of the word. The first program a unix novice learns is probably cat or ls. The last is most likely yacc. Also, most files get compiled from j.x to j.o, (where j is the name and x is the language suffix) then collected with other .o's & maybe a few libraries to form one or more executables. Yacc & Lex go thru an extra step. Even make gets confused about this. > Almost correct is not good enough when hundreds or thousands of > dependencies are generated. If you have to make manual corrections > after each dependency generation, the whole point is missed. Okay, the alternative is do it by hand. Half a job is better than none. You can't automate EVERYTHING! Most of the dogwork (of doing it by hand) is probably tracing #included files. Default suffix rules & special cases should be a small part. No program can automatically know which libraries to include or what ld options to use by looking at the source. I have never used mkmf, I am commenting on your comments in general. jim cottrell@nbs */