make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: temporary files


From: Greg Chicares
Subject: Re: temporary files
Date: Fri, 17 May 2002 01:24:15 -0400

> Andreas Hagele wrote:
> 
> I'm using make 3.79 and I would like to create a
> linker response file from make in a more efficient
> way then with the does echo command.
>
> currently i have something like
> 
> link.cmd: $(MF)
>  echo -pnvram=bss,heap >> $@
>  echo -o$(TARGET).obj >> $@
>  echo -N >> $@
>  echo -B165C00E6 >> $@
[...]
> which works fine but the echo command are sooooo slow.

Do you need every option on a separate line?
If not, lines could be combined:

  echo -pnvram=bss,heap -o$(TARGET).obj -N -B165C00E6 >> $@

Maybe you could combine each set of ten consecutive
lines together; I guess that depends on the program
you pass the options too.

> The Borland make has some command like
> 
> prog.exe: A.obj B.obj
> 
>     TLINK32 /c @&&|     # &&| opens temp file, @ for TLINK32
>     c0s.obj $**
>     prog.exe
>     prog.map
>     maths.lib cs.lib
> 
> |                       # | closes temp file, must be on first column
> 
> with the &&| to create a temp file. That's much faster

They have to have that because of limitations in their
tools. IIRC, there are three distinct limits on the
length of commands in their 'make'.

> Is there something like this in GNU make?

I don't think so. I've never needed it with GNU gcc or ld.
I use GNU make with the borland compiler and linker, too;
for that case, I wrote a program that takes a long command
line and turns it into a borland response file. In the
(GNU) makefile, I call that program with all the options
on one line, and it creates the response file and invokes
the borland linker. So for your example above I can write

  borland_link -c c0s.obj prog.exe prog.amp maths.lib cs.lib

I just measured one such borland link command line from an
actual output and it's 1883 characters long.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]