[alt.msdos.programmer] Makefiles and response files

kerce@nu.cs.fsu.edu (Kingsley F. Kerce) (09/26/90)

I'd like to call upon the software project management expertise of
readers here.

I'm currently developing a software system under MS-DOS.  As much as
possible, I'd like to localize the development configuration data
(i.e. directory locations for source, library, compiler, miscellaneous
utils) to one file e.g. a file that's read by various makefiles in the
development directories.  To serve this purpose, I've created a make
definitions file in the directory at the root of the project's
directory tree.  (It would be nice to be able to place the project's
directory structure and associated files at any directory level and
need only modify the make definitions file accordingly.)

My questions concern the use of response files to escape the command
line length limitations of MS-DOS.  So far, I've made use of
Polytron's Polymake make facility--reason being that response files
can't make use of the aforementioned project configuration data.  [Or
can they?]  Polymake's way around this is to allow the programmer to
put the response file `inline' in the makefile source.  For instance,
with a response file like the following foo.rsp that creates foo.lib
from two object files:
	foo.lib
	y
	c:\bar\baz\foo1.obj &
	+d:\zee\foo2.obj
	NUL;
you might have a makefile dependency like this:
	foo.lib : $(OBJS)
		lib @foo.rsp

With Polymake, however, you may have the following dependency:
	foo.lib : $(OBJS)
		lib <@<
$@
y
$(BAZDIR)\foo1.obj &
+$(ZEEDIR)\foo2.obj
NUL;
<

This tells Polymake to do variable substitution on the lines between
the <@< and the < chars, then create a temporary response file
followed by running lib on that temp response file.  It seems that
this method is more configurable than the response file method, and it
also keeps down the number of files containing make related
information e.g. 1 makefile instead of 1 makefile + 1 response file.

Anyway, I'm thinking about losing Polymake for the recently ported GNU
Make (ported by Thorsten Ohl and ftp'able from ocf.berkeley.edu in the
dir named pub/erc/gnuish-msdos).  I'm not sure if GNU Make has the
same sort of aforementioned feature that Polymake does (pretty sure it
doesn't)--so I'm wondering how others work with response files while
maintaining a very configurable project management setup.  Am I going
about this in a ridiculous manner?  I'd be grateful to hear anyone's
comments on this--please e-mail if possible.

Thanks in advance,
--
Kingsley Kerce kerce@nu.cs.fsu.edu | Overheard in a donut shop...
Computer Science (or Psych) Dept   | Man #1 : I wish I could walk forever.
FSU, Tallahassee, FL, 32306        | Man #2 : You wish you could walk forever?
Work Phone: (904)644-8562