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

 
 
> 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
zltigo
сообщение Aug 14 2015, 05:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



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

Обалдеть, а как быть с тем фактом, что все эти движения "мышкой" генерят на самом деле именно makefile (или их эрацы), только жутко корявые и убогие?
Посему нормальный путь это не уподобление неандертальцам выражающими свои мысли наскальной живописью, а испольовать разившуюся за тысячилетия письменность. Я напимер, уже больше десятка лет из линукса ущел окончательно, пользую около дюжины компиляторов в win и все с make. Причем пользовал в те времена, когда линукса да и виндовса просто не было, компиляторы были хреноватые, но ассемблеры были.
QUOTE
Это в среде Линукса зание Makefile жизненно необходимо.

Наскальная живопись, увы, возможна везде и в этом отношении IDE позволяющие "программировать" мышкой везде одинаковы и уже в подавляющем числе случаев уже ПОРТИРУЮТСЯ из линуксов в виндовс sm.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 14 2015, 06:53
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zltigo @ Aug 14 2015, 08:34) *
Наскальная живопись, увы, возможна везде и в этом отношении IDE позволяющие "программировать" мышкой везде одинаковы и уже в подавляющем числе случаев уже ПОРТИРУЮТСЯ из линуксов в виндовс sm.gif

sad.gif А должно быть так, чтобы без напряга переходить к равноправным формам представления информации.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Aug 14 2015, 07:30
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(_Pasha @ Aug 14 2015, 09:53) *
sad.gif А должно быть так, чтобы без напряга переходить к равноправным формам представления информации.


В случае нетривиального make-файла это малореально. Кстати, графические языки программирования сильно большого распространения не получили sm.gif
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 16 2015, 11:39
Сообщение #6


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Непомнящий Евгений @ Aug 14 2015, 10:30) *
В случае нетривиального make-файла это малореально. Кстати, графические языки программирования сильно большого распространения не получили sm.gif

нетривиального makefile вообще как-то не хочется... rolleyes.gif потому что они никогда не работают как надо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexxx86   Makefile   Aug 14 2015, 04:32
- - Непомнящий Евгений   На просторах интернета информации о make выше крыш...   Aug 14 2015, 05:10
|||- - 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
|- - alexxx86   zhevak, спасибо за ответ! В общих чертах я по...   Aug 14 2015, 05:34
|- - 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 Текстовая версия Сейчас: 30th July 2025 - 20:17
Рейтинг@Mail.ru


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