rbrown@ernie.Berkeley.EDU (Robert Brown) (08/03/88)
Hi! I'm trying to port JOVE to my Amiga. But I had a weird problem with the Makefile. This line: @sed -e 's;TMPDIR;$(TMPDIR);' \ -e 's;LIBDIR;$(LIBDIR);' \ -e 's;BINDIR;$(BINDIR);' \ -e 's;SHELL;$(SHELL);' tune.template >> tune.c in the Makefile causes my Amiga to consistently GURU. (I'm using Manx's make.) (I have the PD version of sed, although I don't know if it's complete enough to handle something like this; I tried doing some simply stuff by hand and it seems to work.) Anyway, that's very annoying. I ended up just ignoring the problem and "hardcoding" tune.c to have the right values. But what's bad is that when the system reboots the hard disk is, like, infinitely slow. (Slight exaggeration...) After I do an "AddBuffers dh0: 40" a couple of times, it begins to run at normal speed. So, does anyone know what the scoop is? Robert
acphssrw@csuna.UUCP (Stephen R. Walton) (08/04/88)
In article <25414@ucbvax.BERKELEY.EDU> rbrown@ernie.Berkeley.EDU.UUCP (Robert Brown) writes: >Hi! I'm trying to port JOVE to my Amiga. But I had a weird problem with >the Makefile. This line: > > @sed -e 's;TMPDIR;$(TMPDIR);' \ > -e 's;LIBDIR;$(LIBDIR);' \ > -e 's;BINDIR;$(BINDIR);' \ > -e 's;SHELL;$(SHELL);' tune.template >> tune.c Robert then mentions he's using Manx make. I don't know why it Guru's, but the above Makefile line won't work as it does under Un*x. The reason is that Manx's make executes sed directly via the fexecv() function, but the code to do command line redirection (like the >> above) is in the CLI. Un*x gets around this by using the system() call, which actually calls up a new shell which executes the line from the Makefile as if it had been typed by the user. I've been thinking about a system() call for the Amiga which would do something similar to the Unix version based on the environment variable SHELL (set to "csh -c " for the Dillon/Drew shell, "newwsh CMD" for WShell, etc.). To do this requires support from the shells, though. In particular, the shell must exit with exit status equal to the exit status of the command which was passed to it. Version 2.7M of csh doesn't do this with its internal commands: if you do a "csh -c cp file1 file2" and file1 doesn't exist, csh does not exit with an error. How does this look to people? Stephen Walton, representing myself swalton@solar.stanford.edu Cal State, Northridge rckg01m@calstate.BITNET
limonce@pilot.njin.net (Tom Limoncelli) (08/05/88)
In article <25414@ucbvax.BERKELEY.EDU> rbrown@ernie.Berkeley.EDU (Robert Brown) writes: [ Basically, a Makefile under Manx's Make is causing a Guru ] I have found that Manx forgot to turn on stack checking when creating the Make program (an assumption... doesn't everyone ship code with such checking on? :-) because certain recursive definitions in the makefile will cause it to Guru due to a stack overflow. Now I always check for things like that when importing foreign makefiles. Tom -- Tom Limoncelli Currently using crutches and in great pain, but still available at: limonce@pilot.njin.net "Remember all the great times we had?" tlimonce@drew.bitnet "Yeah... was that *you*?" tlimonce%drew@cunyvm.cuny.edu "The opinions expressed above are mine... just mine." (Hey Eric! Remember when I was so proud to finally be on a net and your reply was, "Bitnet? Ok... tell me when you get on a real net"? Well, look at the new signature! A real net! Right on the internet! See! See! It's also reachable via limonce@njin.rutgers.edu. Ok Eric? )