roboforum.ru

Технический форум по робототехнике.

[FAQ] Make

[FAQ] Make

Vooon » 14 окт 2007, 21:48

Создал статью по сборке в avr-gcc (чаще его WinAvr'ом кличут)
wiki/Avr-gcc:make

собственно дал линк на "умную книжку" и свой Makefile - можно использовать под любой проект, правки минимум :)
свой мейк строил на основе мейка из умной книжки :)

Re: [FAQ] Make

Vooon » 14 окт 2007, 23:33

кто подскажет как сделать запуск cog.py из мейка?
кстати кто не знает что такое ког вот линк: http://www.nedbatchelder.com/code/cog/index_ru.html
штука классная, понять только как в мейк запуск кога сделать... а кажись придумал :)

Re: [FAQ] Make

Vooon » 14 окт 2007, 23:42

вот вариант с использованием кога
Код: Выделить всёРазвернуть
# output filename
program_name := main
# source directories ('.' - current dir)
source_dirs  := .
#source_dirs  := . includes
#source_dirs      := $(addprefix ../,$(source_dirs))

# uC type
mcu   := atmega128
# CPU freq
f_cpu := 14745600UL

# compiler flags
cpflags   := -mmcu=$(mcu) -Wall -g -O2 -DF_CPU=$(f_cpu)
# linker flags
ldflags := -mmcu=$(mcu) -Wl

#- do not need to edit ----------------------------------------------
rm := rm -rf
cog := cog.py -r
# compiller
cc := avr-g++
cclog := compile.log
# avr-objcopy
objcpy := avr-objcopy
# doxygen
doxygen := doxygen
doxylog := doxygen.log

search_wildcards := $(addsuffix /*.cpp,$(source_dirs))

$(addsuffix .out,$(program_name)): cog all

all: $(notdir $(patsubst %.cpp,%.o, $(wildcard $(search_wildcards) ) ) )
   $(cc) $(ldflags) $^ -o $(addsuffix .out,$(program_name)) 2>>$(cclog)
   $(objcpy) -R.eeprom -O ihex $(addsuffix .out,$(program_name)) $(addsuffix .hex,$(program_name)) 2>>$(cclog)
   $(doxygen) 2>> $(doxylog)

VPATH := $(source_dirs)

%.o: %.cpp
   $(cc) $(cpflags) $(addprefix -I,$(source_dirs)) -MD -c  $< 2>>$(cclog)

cog:
   $(cog) *.cpp *.h

include $(wildcard *.d)

clean:
   $(rm) $(addsuffix .out,$(program_name)) $(addsuffix .hex,$(program_name)) *.d *.o *.hex $(cclog) $(doxylog) doc
   $(cog) -x *.cpp *.h

Re: [FAQ] Make

Myp » 15 окт 2007, 01:07

вот... человек на своей волне...


Rambler\'s Top100 Mail.ru counter