Sida 1 av 1

makefile problem

Postat: 1 mars 2010, 13:39:32
av dangraf
Jag försöker göra en make-fil för att kunna kompilera med C18 i eclipse

Hittade en guide på nätet:http://www.chiefdelphi.com/forums/showt ... hp?t=35571
och försöker följa exemplet.

Nu har jag fastnat på ett ställer där jag inte riktigt förstår varför det inte fungerar.

När jag kör kommandot från comand prompten"make all" så skrivs raden ut:
mplink 18f4550.lkr /l c:\temp\lib /m test.map /o test.hex
MPLINK 4.34, Linker
Error - could not find file 'c018i.o'

vilket jag tyckte var lite konstigt eftersom "/l c:\temp\lib" anger sökvägen till vart libbet finns.

Om jag matar in ovanstående rad manuellt i kommandoprompten så verkar det fungera som det ska, libet hittas. Någon som har någon aning om vad som skulle kunna vara problemet?

del av make-filen

Kod: Markera allt

#linker name
LINKER = mplink

all: $(PROJECT).hex

#re-link if any object file changed
$(PROJECT).hex: $(OBJFILES)
	$(LINKER) 18f4550.lkr /l C:\temp\lib /m test.map /o test.hex

Re: makefile problem

Postat: 1 mars 2010, 17:31:05
av SvenW
Vild gissning: Möjligen uppfattar make-programmet
'C:\temp\lib' som en lokal fil, och expanderar den till C:\xxx\yyy\C:\temp\lib
Spelar det roll om du skriver stort eller litet 'c'?

Re: makefile problem

Postat: 1 mars 2010, 19:35:12
av Nerre
Citationstecken kanske kunde vara en ide?

Hur tolkar make en \?

Re: makefile problem

Postat: 1 mars 2010, 21:39:47
av dangraf
Jag har testat både litet och stort c, ingen större betydelse tyvär.
Jag är ganska ny på make-filer men tolkade det som att den omvandlar raden till ren text och puttar it i commando-tolken som som i sin tur gör vad den blir tillsagd. Jag ska kolla upp det där med / för jag är somsagt ganska osäker.

Re: makefile problem

Postat: 25 mars 2010, 15:08:32
av jbulow
Min gissning är att make går bet på att man använder escape-tecken '\' i DOS.
Vilken make-implementation använder du?
Testa med dubbel-escape '\\'