![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.04.2018
Сообщений: 19
|
![]()
помогите разобраться что такое цель в Makefile
вот имеются два файла file.cpp и file1.cpp в первом файле содержится функция , которая будет вызванна в file1.cpp , который является основной программой. ну так вот я пишу make где указываю цель target target: file.cpp file1.cpp g++ -c file.cpp file1.cpp g++ file.o file1.o -o out так вот, что есть цель? имя файла? какого, того что будет на выходе? на выходе будет файл с именем out. тагда зачем цель? или цель должна совпадать с out* то есть с тем словом что будет указанно при сборке ? это очень важно для меня |
![]() |
![]() |
![]() |
#2 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
![]()
почитайте тут https://ru.wikipedia.org/wiki/Makefile или тут https://habrahabr.ru/post/155201/
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.04.2018
Сообщений: 19
|
![]()
я так и не понял: вот то имя, в цели, после которого стоит двоеточие, оно на что влияет?
target: dependencies system command(s) Целью обычно является имя файла, который генерируется программой; но имя файла получается то которое я задам после ключа -о g++ file.o file1.o -o fnamefile |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Так там кроме имени цели еще задается и "правило" как его получить.
В вашем случае будет Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 12.04.2018
Сообщений: 19
|
![]()
не не , ребята , вы не поняли меня. опять я налепил что-то, что невозможно осмыслить. но как -то вроде до меня дошло, что вот это слово перед двоеточием ,что зовется целью, есть цель для make. то есть если мы создадим цель-from допустим и сделам так make from то среди остальных целей в Makefile будет исполненна лишь from.
но зачем это? если сделать просто make , то будет идти все попорядку сверух вниз. для того мы и пишем makfile чтобы автоматизировать эту сборку. а так что ж, каждый раз указывать make -и цель? или это для того чтобы только одна цель была обработанна из make? ну понять бы можно было вот создаю я makefile для разных архитектур допустим для x86 и arm и делаю в одном makeflle две цели x86 и arm... но тогда пользователю нужно будет делать или make arm или make x86. но вдеь я таких makefile никогда не встерчал. объясните |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 12.04.2018
Сообщений: 19
|
![]()
про зависимости вроде я понял. у меня не уклавывалось имя и цель.
|
![]() |
![]() |
![]() |
#7 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
pcmax
Вы изменили 1 файл. А в проекте их может быть десятки. Вот чтобы не компилировать каждый компилируется только 1 файл. Вот вам и ускорение в несколько раз. А так же обычно обычно используют для другого установки, удаления и очистки. Цитата:
Она видет dependencies зависимости и поочерёдно вызывает эти цели. Вот что-бы их найти и нужно target а после make сверяет дату выходного файл из подчернённой цели с выходным файлом текущей. И если больше то пересобирает текущую цель. Если fnamefile и taget подчинённой цели не совпадёт, то текущая цель не соберётся. А почему бы и нет? Всё это
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 15.04.2018 в 20:52. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 12.04.2018
Сообщений: 19
|
![]()
спасибо, хоть что-то в мой темный ум дошло
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Makefile | Chopic | Общие вопросы C/C++ | 0 | 03.04.2015 21:23 |
Makefile | 220Volt | Общие вопросы C/C++ | 6 | 10.07.2014 00:47 |
Makefile и gcc | vedro-compota | Общие вопросы C/C++ | 2 | 05.05.2011 18:42 |
Makefile | Nostalgia | Общие вопросы C/C++ | 3 | 18.10.2010 14:36 |
makefile | Kill-All-N-Thrash | Общие вопросы C/C++ | 8 | 29.08.2010 23:15 |