Перейти к содержанию
    

Как устроен makefile для WINAVR

Начал изучать С++ с применением WINAVR по книге Шпака Программирование на языке Си для AVR и PIC (СD диска у меня нет) при первом же компилировании получил сообщение об ошибке

 

make.exe: *** No rule to make target `obj/main.o', needed by `sos.elf'. Stop.

> Process Exit Code: 2

> Time Taken: 00:01

 

Думаю что ,что то не так в makefile. Я взял этот файл с какогото примера похожего и задал 3 параметра

как описано в книге но не тут то было. В книге Шпака есть несколько слов на эту тему но для файла

makefile приведенного на прилагаемом CD. Кто укажет где описан этот файл. Как с ним бороться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Make он штука не зависимая от компилятора по определению :-)

Посему читать любую литеретуру по make - базовый набор у них одинаковый - на первых порах хватит. Потом что-нибудь типа

http://www.linux.org.ru/books/GNU/Gmake.htm

почитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо хоть направление дали. Там же десяток 300 страничных доков. В каком хоть?

Или прочесть все?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а как с ошибочкой быть. Как ее пройти?

Сделать то, что просят - указать от каких файлов зависит main.o и как он создается из этих файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а как с ошибочкой быть. Как ее пройти?

Сделать то, что просят - указать от каких файлов зависит main.o и как он создается из этих файлов.

Просмотрел ввесь makefile упоминания о main.o нет. C каких файлов он должен состоять?Нелья ли быть немного снисходительным для learning beginner С++ AVR till morning today.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нелья ли быть немного снисходительным для...

Тогда начните с изучения понятий исходные тексты -> компилятор -> объектный код -> линковка ->

исполняемый код.

До этого говорить о makefile в котором описываются правила создания исполняемого кода из исходных текстов преждевременно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и это называется помощь? Я имею понятие о том что вы пишете больше чемь надо для начинающегою. Но я думаю что makefile достаточно протокольная вещь которую просто нужно знать как откоректировать под свои задачи. Я же учусь и выполняю то что написанов книге.

Мне важно чтобы программа из одной команды выполнялась до конца правильно без ошибок.

А потом наполнить ее содержанием и усложнить это уже совсем друга задача. Сначала нужно получить инструмент в руки. А Вы устраиваете цирк, вместо того чтобы написать пару слов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Вы устраиваете цирк, вместо того чтобы написать пару слов.

Очень странное представление о цирке.

Пару слов написал, полагаю более чем достаточных для придания нужного направления. Про make - придется читать. Если "без понятия" какие действия надо выполнить - сначала разбираться с инструментом. Уровень Ваших знаний мне не ведом, но если бы действительно

Я имею понятие о том что вы пишете больше чемь надо для начинающегою

то вопроса:

..упоминания о main.o нет. C каких файлов он должен состоять?

Просто не могло-бы быть.

Makefile и все, что с ним связано - это правильный путь который _придется_ пройти. На этом пути начальная планка достаточно высока :-(. И объяснения НИКАК не укладываются в "пару слов" -

придется читать и думать, думать, и еще раз думать, дабы ПОНЯТЬ придется. Ссылки давалиcь.

 

Альтернатива "правильному" пользоваться разными мутными визардами с галочками и кнопочками -

получить что-то "работающее" без особого труда можно.

 

Выбирайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недавно также пришлось осваивать WinAVR. Ошибки были не такие, как у Вас, но почти все вылечились принудительным прописыванием путей в Autoexec и Config. Попробуйте сначала открыть какой-нибудь проект из примеров в самом WinAVR и скомпилировать его. Если получится - тогда уже копать дальше makefile. В пакет WinAVR входит также генератор/редактор этих файлов. Можно создать makefile и самому. В Вашем случае, похоже, компилятор не находит файлы. Пробуйте по всякому - обязательно получится.

А содержимое диска к этой книге - вот:

C_Programming_AVR.ZIP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ловите руководство по GNU Make в переводе Владимира Игнатова и его статью "Эффективное использование GNU Make".

 

К сожалению ссылка на его страничку устарела, а новой ссылки у меня нет. Поэтому выкладываю файлами.

 

GNU_Make_3_79_russian_manual.htm

Book_EGM.htm

 

С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недавно также пришлось осваивать WinAVR. Ошибки были не такие, как у Вас, но почти все вылечились принудительным прописыванием путей в Autoexec и Config. Попробуйте сначала открыть какой-нибудь проект из примеров в самом WinAVR и скомпилировать его. Если получится - тогда уже копать дальше makefile. В пакет WinAVR входит также генератор/редактор этих файлов. Можно создать makefile и самому. В Вашем случае, похоже, компилятор не находит файлы. Пробуйте по всякому - обязательно получится.

А содержимое диска к этой книге - вот:

C_Programming_AVR.ZIP

Спасибо за теплое словою. Похоже что компилятор не видит исходника. Подставлял исходник и make

в сам WINAVR в папку samples -ошибка таже. Но у меня действительно Autoexec пустой.

XP ставилась на голый винт. Попробую прописать пути - правда уже подзабыл как это делать.

А что нужно в CONFIG?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но у меня действительно Autoexec пустой.

XP ставилась на голый винт. Попробую прописать пути - правда уже подзабыл как это делать.

А что нужно в CONFIG?

Прошу прощения, я ошибся. В Config прописывать ничего не нужно. А в Autoexec при инсталляции, WinAVR сам пишет пути. Что-то вроде этого:

 

SET PATH=C:\WINAVR\UTILS\BIN;%PATH%

SET PATH=C:\WINAVR\BIN;%PATH%

 

Если не получится, выложите файлы, попробую их откомпилировать на рабочем WinAVR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...