Date: Mon, 23 Jun 1997 17:05:50 +0300 (IDT) From: Eli Zaretskii To: Hans-Bernhard Broeker cc: DJ Delorie , djgpp-workers AT delorie DOT com Subject: Re: Library rebuilds In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk 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?