🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #977

Makefile me usa CC ¿por defecto?

#977
From: heltena
Date: Tue, 18 Jul 2006 14:01
62 lines
2957 bytes
Hola grupo,

Tengo los siguientes tipos de ficheros en el proyecto:
*asm.asm -> ficheros en ensamblador (para PIC16f876)
*.inc -> includes de ensamblador
*.h -> versión C de los includes
*.c -> codigo C que se debe compilar para PIC (usando SDCC)

Y tengo el siguiente Makefile:
<<BEGIN>>
OBJS=spi.o spiasm.o pral.o global.o globalasm.o fat32.o fat32asm.o
usart.o usartasm.o
PRJ=enric3

$(PRJ).hex: $(OBJS)
        gplink -o $(PRJ) $(OBJS)

%.asm: %.c
        sdcc -S -V -mpic14 -p16f877 -c $<

%.o: %.asm *.inc
        gpasm -p 16f876 -c $< -D$<
<<END>>

Bien, los pasos deberían ser:
los fichero spi.o, pral.o, global.o fat32.o y usart.o están en C, así
que:
sdcc -mpic14 -p16f877 -c spi.c
...
y me deben generar los ficheros: spi.asm pral.asm ...

Después se ensamblan:
gpasm -p 16f876 -c spi.asm -Dspi.asm
(el -D es un define)

Y después, lo enlazo todo:
gplink -o enric3.hex spi.o spiasm.o ...

Lo que pasa es que, en vez de usar el sdcc que tengo en la regla al
compilar los ficheros C, me ejecuta el cc. Sacado de la shell:

heltena@integer:~/src/pic/enric3$ make
cc    -c -o pral.o pral.c
In file included from pral.c:1:
p16f876.h:198: error: syntax error before 'at'
pral.c:3: error: syntax error before numeric constant
pral.c: In function 'main':
pral.c:17: warning: return type of 'main' is not 'int'
make: *** [pral.o] Error 1

Y no solo eso, sino que me pone un "-o pral.o" que no debería ser
así.

Mi prueba ha sido: "bueno, si quieres usar cc, usarás cc" y he puesto
encima del Makefile:
CC=sdcc -S -V -mpic14 -p16f877 -c

Y claro, me lo compila usando el sdcc, pero me lo guarda en, por
ejemplo, "spi.o" y debería ser "spi.asm".


¿qué hago mal en el Makefile?
Technical Details
Message-ID: <1153231264.317433.191740@75g2000cwc.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!75g2000cwc.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,c9be63ee285d36f1,start
X-Google-Attributes: gidf86c8,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!75g2000cwc.googlegroups.com!not-for-mail
From: "heltena" <heltena@gmail.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Makefile me usa CC ¿por defecto?
Date: 18 Jul 2006 07:01:04 -0700
Organization: http://groups.google.com
Lines: 63
Message-ID: <1153231264.317433.191740@75g2000cwc.googlegroups.com>
NNTP-Posting-Host: 193.147.222.244
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1153231268 23925 127.0.0.1 (18 Jul 2006 14:01:08 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 18 Jul 2006 14:01:08 +0000 (UTC)
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060406 Firefox/1.5.0.4 (Debian-1.5.dfsg+1.5.0.4-1),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: 75g2000cwc.googlegroups.com; posting-host=193.147.222.244;
   posting-account=ljKoDA0AAABEvzHlRrQ7YAIM9PPVxdEL