roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 10:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: [FAQ] Make
СообщениеДобавлено: 14 окт 2007, 21:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Создал статью по сборке в avr-gcc (чаще его WinAvr'ом кличут)
wiki/Avr-gcc:make

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

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [FAQ] Make
СообщениеДобавлено: 14 окт 2007, 23:33 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
кто подскажет как сделать запуск cog.py из мейка?
кстати кто не знает что такое ког вот линк: http://www.nedbatchelder.com/code/cog/index_ru.html
штука классная, понять только как в мейк запуск кога сделать... а кажись придумал :)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [FAQ] Make
СообщениеДобавлено: 14 окт 2007, 23:42 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
вот вариант с использованием кога
Код:
# 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

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [FAQ] Make
СообщениеДобавлено: 15 окт 2007, 01:07 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
вот... человек на своей волне...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO