www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1997/06/23/10:08:04

Date: Mon, 23 Jun 1997 17:05:50 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de>
cc: DJ Delorie <dj AT delorie DOT com>, djgpp-workers AT delorie DOT com
Subject: Re: Library rebuilds
In-Reply-To: <Pine.LNX.3.91.970623112111.31017B@acp3bf>
Message-ID: <Pine.SUN.3.91.970623165228.6888C-100000@is>
MIME-Version: 1.0

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019