avr-gcc-list
[Top][All Lists]
Advanced

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

[avr-gcc-list] Makefile problem and solution


From: Schwichtenberg, Knut
Subject: [avr-gcc-list] Makefile problem and solution
Date: Tue, 26 Sep 2006 08:30:08 +0200

Hi,

in the middle of a running project I received from make the "very
expressive" error message:
.dep/blcd.o.d:1: *** multiple target patterns.  Stop.

I'm using WinAVR + Cygwin together. My "Unix tools" are from Cygwin
while the avr-gcc comes from WinAVR. That works fine except for avr-gdb
which I'm not using. I did some updates Path, Cygwin,... so I could not
say why a formerly running makefile did run any longer.

I found a newly make extension called remake. remake is a make +
debugging interface. Very usefull but it did not help. With gdb and the
make sources I found out that the under cygwin generated dependency file
contain colons that are confusing the makefile parser! 

Exapmle from blcd.o.d:
blcd.o: blcd.c C:/WinAVR_20060421/avr/include/stdint.h \
  C:/WinAVR_20060421/avr/include/string.h \
  c:\WinAVR\bin\../lib/gcc/avr/3.4.6/include/stddef.h studio/global.h \
  studio/defines.h studio/types.h studio/blcd.h studio/lcd.h
studio/lcd.h ....

The Solution is simple:
There is a define "HAS_DOS_PATHS" that need to be set. With this define
set the parser is running properly. 


It seem to be a wrong compiling for the current Make.exe (version 3.81-1
as defined by Cygwin Setup). 

But additionally all projects that are moved from Cygwin to Unix will
show the same message. For these project the dependency directory need
to be removed manually while the next rebuild  solves the problem.

HTH

Knut




reply via email to

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