Mail Archives: djgpp-workers/1997/06/23/10:08:04
On Mon, 23 Jun 1997, Hans-Bernhard Broeker wrote:
> * I try to do everything I can with make itself. It's the only really
> portable method I can think of that does not require many external tools
> to be installed. If make had 'for' loops, there'd be almost no need for
> platform-dependency left in Makefiles.
Since there is a (very good) port of Bash, and Text-/File-/Sh-utils are
also available, you can relax here, I guess, and use them whenever you
need.
> - 'rmake.cc' and 'update.c' won't build without major modifications on
> anything but DJGPP or at least DOS itself (glob(".../filename") in rmake,
> _open() and friends in update).
You can replace `update' with a shell command that calls `cmp' for Unix
platforms. Some GNU distributions include a script called
`move-if-changed' (sp?); I think GCC is one such distribution (probably
the original reason for writing `update', right, DJ?).
> djlsr/utils directory). Could we require bash, findutils and sed for
> rebuilding the lib on DOS? I don't think so, esp. for bash.
We already have Bash. It shouldn't be a problem to require it for
building the library if it cannot be avoided (all the latest ports of GNU
stuff are done using Bash and friends). But if you can avoid it, please
do.
> - I don't think there's any *really* portable way to use recursive makes
> on both DJGPP and whatever Unix-alike you choose, without insisting on the
> presence of GNU make.
Can you elaborate why is this a problem? The current DJGPP port of Make
doesn't have any problems with recursive invocation, even without -C. I
have built packages that invoke 6 recursive Make's (!) with no problems.
People just should stay away of QDPMI when they do that (it eats up 100K
per nested program), but this can be documented.
> - Compilers other than DJGPP itself don't understand the @gcc.opt method.
> Currently, I use `cat gcc.opt` instead on Linux, but that'll have to be
> replaced by internal techniques of make. gcc.opt will probably go
> away completely.
How about $(shell) ? The latest DJGPP port of Make can run arbitrary
shell commands there, so you can say $(shell cat gcc.opt) or some such
and have it work on Unix and MSDOS alike. (Except that $(shell) is
probably GNU Make-specific.)
> - I'm still not sure how to detect if another make run might be necessary.
> Could 'make -q' do the trick?
Ideally, a single run should do everything. If this is true, why do you
need -q?
- Raw text -