[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: temporary files
RE: temporary files
Sat, 18 May 2002 09:54:36 +1200
thankd for reply.
It looks like you found a way around it by writing a utility for it. I
thought GN GCC would have somewhere a feature like this built in.
I'm linking for a small embedded system and the command line does not take
more than about 150chars. That's why I need a response file.
From: Greg Chicares [mailto:address@hidden
Sent: Friday, 17 May 2002 5:24 p.m.
To: Andreas Hagele
Subject: Re: temporary files
> 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 $**
> 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.