Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!cmcl2!rutgers!bellcore!faline!ulysses!hector!ekrell From: ekrell@hector..UUCP (Eduardo Krell) Newsgroups: comp.unix.wizards Subject: Re: Symbolic Links Message-ID: <2927@ulysses.homer.nj.att.com> Date: Sat, 5-Sep-87 19:16:58 EDT Article-I.D.: ulysses.2927 Posted: Sat Sep 5 19:16:58 1987 Date-Received: Sun, 6-Sep-87 09:08:54 EDT References: <8731@brl-adm.ARPA> <2789@ulysses.homer.nj.att.com> Sender: daemon@ulysses.homer.nj.att.com Reply-To: ekrell@hector (Eduardo Krell) Organization: AT&T Bell Labs, Murray Hill Lines: 34 Keywords: Makefile In article <9091@tekecs.TEK.COM> snoopy@doghouse.gwd.tek.com (Snoopy) writes: >Why is -I the "right" way and #define the "wrong" way? Because it doesn't require the "#ifdef KERNEL" kludge and I believe header files shouldn't have any #include " ... " in them. That is, you should only use brackets in #include in header files. Why, you ask?. Because if you have Reisser's cpp (as most do), then the rules for searching "" files is different from the one in K&R. Reisser's cpp looks for "" files in the directory where the file with the #include was (which is different from the directory where the original .c file was). What this means is that if a header file in a standard header directory uses #include "y.h" then the y.h in that directory will be used ALWAYS, and there's no way I can override that and make it include the y.h I have in my own directory. >What does the relevant section of your Makefile look like? for make users: CFLAGS = -I for nmake users: .SOURCE.h : Eduardo Krell AT&T Bell Laboratories, Murray Hill {ihnp4,seismo,ucbvax}!ulysses!ekrell