Re: Problem with GNU make / Win32-port

Eli Zaretskii <[email protected]>
Newsgroups gmane.comp.gnu.make.windows
Message-ID <[email protected]>
> From: =?iso-8859-2?Q?Hol=FD_Michal?= <[email protected]>
> Date: Wed, 22 Oct 2008 20:01:26 +0200
> 
> Make should generate command like:
> msp430-gcc -g -O2 -mmcu=msp430x1121 -D_GNU_ASSEMBLER_ -nostartfiles -nostand
> artlibs RTC11x-TA.S -o RTC11x-TA
> 
> But it does not. (if I type previous command directly by hand, it's OK)
> 
> But make generates only
> msp430-gcc RTC11x-TA.s -o RTC11x-TA
> (with lower-case .s)
> This command start assembler without preprocessor, and it is wrong.
> 
> I think there is following issue: Make tries, if intermediate product
> (RTC11x-TA.s) exists.
> And Windows answers YES (because for WIN the RTC11x-TA.s exists - it is the
> same file as RTC11x-TA.S).
> So make skips the preprocessing and start the assembler directly.

Yes, that's probably the reason, although if you run Make with -d
switch, you will see yourself what it decides to do and why.

> If I define variable ASFLAGS=something, it appears in the command.
> e.g. If I define
> ASFLAGS= -g -O2 -mmcu=msp430x1121 -D_GNU_ASSEMBLER_ -nostartfiles -nostandar
> tlibs
> the command line looks like
> msp430-gcc -g -O2 -mmcu=msp430x1121 -D_GNU_ASSEMBLER_ -nostartfiles -nostand
> artlibs RTC11x-TA.s -o RTC11x-TA
> (nearly OK, but with lower-case .s)
> 
> 
> Is there any simple solution of this problem?

Well, one simple solution is to provide an explicit rule for building
each one of $(PROGS), instead of relying on implicit rules built into
Make.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.