Date: Thu, 12 Jan 1995 11:38:15 +0900 From: Stephen Turnbull To: babcock AT cfa DOT harvard DOT edu Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Changing system() [was: bug in djgpp's make] I'm wondering about the impact on people who use features of shells besides redirection in their makefiles. OK, GO32 does its own globbing, etc. But how about about aliases, which people who use 4DOS or ms_sh may use? I do. And so on. From: peprbv AT cfa0 DOT harvard DOT edu (Bob Babcock) > Neither bug nor gotcha. Every reasonable make program calls > compilers directly, not through COMMAND.COM (with spawnXXX() > function call), precisely because this is the only way to get > at its exit status. Actually, it is possible to get the exit status from a program run under COMMAND.COM in a reasonably portable way: create a .BAT file to run the program, check the error level in the .BAT file and signal success/failure through an environment variable or auxiliary file. OPUS make actually does this automatically when it needs to go through command.com. This looks like a better solution to me. If system() checks that variable itself, then returns the value, this should be compatible with everyone's wants. No? I'm suddenly realizing that I'm not entirely sure what should be done by make and what make is expected to turn over to the shell. But I would hope that most things will be handled in a way compatible with the user's shell-of-choice. --Steve