> 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. _______________________________________________ Make-w32 mailing list [email protected] http://lists.gnu.org/mailman/listinfo/make-w32
