Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!ucbcad!ucbvax!ucsfcgl!cgl.ucsf.edu!kneller From: kneller@cgl.ucsf.edu (Don Kneller) Newsgroups: comp.sys.ibm.pc Subject: Re: NDMAKE 4.3 Bug? Message-ID: <10452@cgl.ucsf.EDU> Date: Wed, 21-Oct-87 19:45:26 EDT Article-I.D.: cgl.10452 Posted: Wed Oct 21 19:45:26 1987 Date-Received: Sat, 24-Oct-87 09:49:19 EDT Sender: daemon@cgl.ucsf.edu Reply-To: kneller@socrates.ucsf.edu.UUCP (Don Kneller) Organization: UCSF Computer Graphics Lab Lines: 28 A possible bug is being discussed concerning NDMAKE and the way it handles "cd". I tried to remain as true to UNIX make as I could, so each shell line always starts in a separate subshell *in the current directory* (the directory NDMAKE started from). Thus to do a cd to another directory and get a directory listing you must do: (cd smodel; dir) In NDMAKE, the parentheses encaspulate a multiple-command shell line. Note that exactly the same syntax can be used with UNIX make. In UNIX, putting parentheses around a list of semicolon separated commands results in those commands being executed by the same subshell. In NDMAKE the parentheses are *required* around a multiple-command shell line. This is because several MSDOS utilities (notably MSC, LINK and LIB) use a semicolon to delineate the end of input and we want to use it as a command separator. As with UNIX make, in NDMAKE the use of semicolon as a command separator can be inhibited by preceeding it with a backslash: (echo foo\; echo bar) results in: foo; echo bar ----- Don Kneller UUCP: ...ucbvax!ucsfcgl!kneller INTERNET: kneller@cgl.ucsf.edu BITNET: kneller@ucsfcgl.BITNET