реклама на сайте
подробности

 
 
> Makefile
alexxx86
сообщение Aug 14 2015, 04:32
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 13-08-14
Пользователь №: 82 535



Кто может разъяснить зачем нужен makefile?! На просторах интернета внятной информации не нашел. К примеру в некоторых темах пишут что при правки makefile нужно указывать тип микроконтроллера, рабочаю частоту и т. д. Я работаю в atmel studio и там в makefile нет таких пунктов. Просто хочется для общего развития понимать зачем он нужен и почему он бывает разный.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zhevak
сообщение Aug 14 2015, 05:14
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(alexxx86 @ Aug 14 2015, 09:32) *
Кто может разъяснить зачем нужен makefile?!

Makefile изначально использовался в среде типа UNIX, которые построены на парадигме управления задачами посредством команд, которые вводятся в консоли (символьной -- а графических консолей тогда и не было) с клавиатыры. Результат выполнения также отображался в символьном виде на экране тойже консоли. Вместо экрана висплея можно было подключить принтер. А почему бы нет!

Ну Вы поняли! Кнопочек и менюшечек не было. Мышей -- тоже. А управлять заданиями, то есть работать на компе было нужно. Вопрос -- как? Единственный выход в те времена -- использование клавиатуры и экрана (принтера). Понтное дело, что при таком раскладе ни о какой графике говорить уже не приходилось. Команды системе отдавались в виде слов, и получение резултата вываливалось на экран тоже в виде слов.

Ну это прописные истины. Я их сказал тоько для того, что бы мы понимали друг друга однозначно. Идем дальше.

Набирать какжый раз серию команд было неудобно. Поэтому встал вопрос об автоматизации действий программиста (пользователя). Одно из направлений автоматизации было использование скриптовых файлов, в которых команды записывались по-сторочно. Это в некоторой степени аналог виндовых BAT-файлов.

Другом направленим автоматизации работы программиста-разработчика было направление makefile. В файле Makefile описывается не последовательность команд, а цели, которые нужно выполнить. Иначе говоря последовательность дейстий для достижения цели определяется не последовательностью строк, а наоснове других соображений. Ну например, если объектный файл уже имеется, то повторно компилировать исходник уже не надо.( Ну это грубый пример. более изящный я сейчас не в состоянии придумать.)

В общем, в файле Makefile перечисляются исходные положения -- типа каким компилятором будем пользоваться, где и какие расположены библиотеки, каким линковщиком будем собирать проект, к стати -- имя проекта, состав файлов проекта, зависимости файлов друг от друга, тип процессора, тактовая частота... ну и другие параметры. Всего не перечислить! Да, в общем-то, и нет это нужно. Makefile в самом минимальном варианте тоже рулят. Мне иногда приходится создавать тестовые пректики. Поэтому накидать с нуля Makefile из десятка строк иногда бывает проще, чем адаптировать мега-Makefile из соседнего проекта.

В Видовсе принято программировать мышкой. Поэтой причине в Виндовсе Makefile-ы не очень распространены. И правда, какой смысл в файле, если все параметры контролируются средой разработки (IDE), и сама среда уже знает какой компилятор использовать?

Если Вы не собираетесь пробовать Линукс, то и заморачиваться особо на эти Makefiles Вам нет никакого смысла. Это в среде Линукса зание Makefile жизненно необходимо.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
alexxx86
сообщение Aug 14 2015, 05:34
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 13-08-14
Пользователь №: 82 535



zhevak, спасибо за ответ! В общих чертах я понял про makefile. Мне больше не понятно другое, к примеру берем какой нибудь чужой проект с всеми исходниками и makefileом, в makefile указан тип микроконтроллера и рабочаю частота. Или другой пример, решил я почитать про bootloaded, нашел тему где все подробно расписано и есть все исходники и makefile, опять-же там указывается тип и частота. Я работаю в atmel studio 6, там автоматически генерируется makefile, но там нет таких пунктов. Вот мне и не понятно почему где-то указывается тип и частота а где-то нет.

Сообщение отредактировал alexxx86 - Aug 14 2015, 05:36
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexxx86   Makefile   Aug 14 2015, 04:32
- - Непомнящий Евгений   На просторах интернета информации о make выше крыш...   Aug 14 2015, 05:10
|- - zltigo   QUOTE (zhevak @ Aug 14 2015, 08:14) В Вид...   Aug 14 2015, 05:34
||- - _Pasha   Цитата(zltigo @ Aug 14 2015, 08:34) Наска...   Aug 14 2015, 06:53
||- - Непомнящий Евгений   Цитата(_Pasha @ Aug 14 2015, 09:53) А до...   Aug 14 2015, 07:30
|||- - _Pasha   Цитата(Непомнящий Евгений @ Aug 14 2015, 10...   Aug 16 2015, 11:39
|||- - zltigo   QUOTE (_Pasha @ Aug 16 2015, 14:39) потом...   Aug 16 2015, 12:17
||- - zltigo   QUOTE (_Pasha @ Aug 14 2015, 09:53) А до...   Aug 14 2015, 14:35
||- - alexxx86   zltigo, Ну если я ни чего не понял, тогда объяснит...   Aug 14 2015, 14:46
||- - zltigo   QUOTE (alexxx86 @ Aug 14 2015, 17:46) zlt...   Aug 14 2015, 15:15
|- - ataradov   QUOTE (alexxx86 @ Aug 13 2015, 22:34) Я р...   Aug 14 2015, 05:37
|- - Непомнящий Евгений   Цитата(alexxx86 @ Aug 14 2015, 08:34) zhe...   Aug 14 2015, 05:52
||- - zltigo   QUOTE (Непомнящий Евгений @ Aug 14 2015, 08...   Aug 14 2015, 06:07
|- - zhevak   Цитата(alexxx86 @ Aug 14 2015, 10:34) Мне...   Aug 14 2015, 07:55
|- - alexxx86   zhevak, Получается что если проект состоит из не ...   Aug 14 2015, 10:14
|- - kolobok0   Цитата(alexxx86 @ Aug 14 2015, 13:14) ......   Aug 14 2015, 15:08
|- - zhevak   Цитата(alexxx86 @ Aug 14 2015, 15:14) zhe...   Aug 14 2015, 16:33
|- - alexxx86   zhevak, Спасибо вам большое, за подробные и развер...   Aug 14 2015, 17:25
|- - zltigo   QUOTE (zhevak @ Aug 14 2015, 19:33) 4) в ...   Aug 14 2015, 19:03
|- - Canis Dirus   Цитата(zltigo @ Aug 15 2015, 00:03) А за ...   Aug 15 2015, 10:09
|- - zltigo   QUOTE (Canis Dirus @ Aug 15 2015, 13:09) ...   Aug 15 2015, 14:03
|- - zhevak   ЦитатаА за такое, как Вы описали, вообще надо бить...   Aug 15 2015, 15:31
|- - zltigo   QUOTE (zhevak @ Aug 15 2015, 18:31) Если ...   Aug 15 2015, 15:48
|- - zhevak   @zltigo Мои извинения. Наверно я не правильно Вас ...   Aug 15 2015, 16:39
|- - zltigo   QUOTE (zhevak @ Aug 15 2015, 19:39) @zlti...   Aug 15 2015, 16:45
- - ataradov   QUOTE (alexxx86 @ Aug 13 2015, 21:32) Я р...   Aug 14 2015, 05:26
- - gerber   Рискну пойти против течения... но в абсолютному бо...   Aug 16 2015, 12:30
- - kolobok0   Цитата(gerber @ Aug 16 2015, 15:30) ...пр...   Aug 16 2015, 12:42
- - zltigo   QUOTE (gerber @ Aug 16 2015, 15:30) ошибо...   Aug 16 2015, 12:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 05:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016