Makefile w WINAVR

Mar 10, 2006 5 Replies

Nie zabardzo jarze sk³adnie plików makefile. Mo¿e mi kto¶ pomo¿e? Zrobi³em sobie makefila (korzystaj±c ju¿ z gotowych). Dziêki któremu kompiluje mi siê program i mam te¿ mo¿liwo¶æ jego zaprogramowania przez ponyproga. Wszystko dzia³a dobrze.



Tylko ¿e teraz chce oprócz pliku main.c dodaæ do wynikowego bin'a pilk motor.c i nie wiem jak to zrobiæ:(stworzy³em ju¿ zmienn± SRC w której chce sobie trzymaæ pliki, które maj± siê skompilowaæ no ale nie wiem w którym miejscu mam t± zmienn± wsadziæ, tak aby to zadzia³a³o tak jak nale¿y.


# # $Id: Makefile,v 1.1 2002/12/18 22:35:38 joerg_wunsch Exp $ # CSTANDARD = -std=gnu99 CC= avr-gcc MCU=AT90S2313 ISPEXE = c:/program files/ponyprog2000/ponyprog2000.exe



SRC = main.c motor.c



CFLAGS = -g CFLAGS += $(CDEFS) $(CINCS) CFLAGS += -O$(OPT) CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -Wall -Wstrict-prototypes CFLAGS += -Wa,-adhlns=$(<:.c=.lst) CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) CFLAGS += $(CSTANDARD)


.SUFFIXES: .s .bin .out .hex .srec



.c.s: $(CC) $(CFLAGS) -S $<



.S.o: $(CC) $(ASFLAGS) -c $<



.o.out: $(CC) $(CFLAGS) -o $@ $<



.out.bin: avr-objcopy -O binary $< $@



.out.hex: avr-objcopy -O ihex $< $@



.out.srec: avr-objcopy -O srec $< $@



all: main.bin



OBJS=main.o main.out: $(OBJS) $(CC) -o main.out $(CFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -lm



clean: rm -f *~ *.out *.bin *.hex *.srec *.s *.o *.pdf *core



program: $(ISPEXE) isp.e2s



In the darkest hour on Fri, 10 Mar 2006 19:56:45 +0100, Kurciok snipped-for-privacy@poczta.BEZSPAMUonet.pl> screamed:

OBJS = $(SRC:.c=.obj)

Zkasuj powyższą.

Kurciok napisał(a):

A nie możesz wygenerować makefile za pomocą mfile (dostępny razem winavr) ?

Pozdrawiam Krzysztof Szmurło

Co¶ nie dzia³a teraz za ka¿dym razem dostaje komunikat "make.exe: *** No rule to make target `main.obj', needed by `main.out'. Stop." nawet jak zrobiê clean przed kompilowaniem.

:) nie wiedzia³em o tym programie. Dziêki ju¿ sobie wygenerowa³em i wszystko dzia³a.

In the darkest hour on Sat, 11 Mar 2006 11:05:24 +0100, Kurciok snipped-for-privacy@poczta.BEZSPAMUonet.pl> screamed:

Uhm. Mój błąd. Ma być: OBJS = $(SRC:.c=.o)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required