Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Makefile, как грамотно писать? 
:(
    Опции темы
kindDevil
Дата 27.12.2006, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 10.10.2005

Репутация: нет
Всего: нет



только недавно пересел под GNU / Linux и еще более недавно начались попытки кодить...
так вот: хочу нормально пользоваться make, но проблема с созданием makefile'ов =(
все на что меня хватило: (что работает) 
prog: 1.cpp
          g++-3.3 1.cpp
         
но по сути дела это ничем не отличается от простого g++, набранного в консоли. и выдает тот же a.out 
может от моей криворукости, а может от незнания, я решил, что это не исполняемый файл %) 
и вроде ж можно в makefile указать имя результирующего исполнябельного файла.
HELP! 
PM MAIL ICQ   Вверх
MAKCim
Дата 28.12.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Код

program: program.o
    gcc $< -o $@
program.o:
    gcc program.c -o $@


Добавлено @ 10:33 
make


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bilbobagginz
Дата 28.12.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



kindDevil, на самом деле, если работаешь с 1 файлом смысла в писании мейк-файла - нет.
работай напрямик с gcc.
смысл появляется, когда разрабатываешь проект из нескольких файлов.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
kindDevil
Дата 28.12.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 10.10.2005

Репутация: нет
Всего: нет



bilbobagginz, 
спасибо, я это знаю =) 
просто было интересно.
и ведь gcc или g++ напрямую не вытянут левый include из какого-нибудь /usr/include/c++/3.3/ и т.д. 
им нужно указывать, а makefile - самое удобное для этого средство.
спасибо всем - разобрался =)
PM MAIL ICQ   Вверх
Fedor
Дата 29.12.2006, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Цитата(kindDevil @  28.12.2006,  22:19 Найти цитируемый пост)
и ведь gcc или g++ напрямую не вытянут левый include из какого-нибудь /usr/include/c++/3.3/ и т.д. 

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

Это сообщение отредактировал(а) Fedor - 29.12.2006, 00:50


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
bilbobagginz
Дата 29.12.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



когда хорошо ознакомишься с make, переходи на scons

smile


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
kindDevil
Дата 30.12.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 10.10.2005

Репутация: нет
Всего: нет



bilbobagginz, 
а это что за зверь такой?

PM MAIL ICQ   Вверх
MAKCim
Дата 30.12.2006, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



kindDevil, 
scons


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bilbobagginz
Дата 31.12.2006, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



kindDevil, тебе imho стоит сначала познакомиться с самым главным зверем в интернете:
www.google.com

этот зверь - как оракл. знает всех.
если встречаешь незнакомого зверя, сразу к гуглю быстро иди.
он тебе всё расскажет.

пока.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
kindDevil
Дата 31.12.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 10.10.2005

Репутация: нет
Всего: нет



bilbobagginz,
такого стыдно не знать.
а  я его раз 8 в день юзаю точно %) 
PM MAIL ICQ   Вверх
bilbobagginz
Дата 31.12.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



8 раз в день - мало ( зависит конечно от времени поиска по интернету )
надо фаерфоксом пользоваться. там поиск по умолчанию - гугль.
советую добавить и движок поиска по wikipedia.
очень ценный.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Goganchic
Дата 27.1.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Вообще, make утилита хорошая, только немного устаревшая smile
PM Jabber   Вверх
V.A.KeRneL
  Дата 28.1.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: нет
Всего: 14



Цитата(Goganchic @  27.1.2007, 12:16 Найти цитируемый пост)

Вообще, make утилита хорошая, только немного устаревшая smile

Goganchic, это сложный философский вопрос, насколько морально устарел make!  smile 

Вообще, для простых программок Makefile, конечно, не обязателен, для средних проектов он маленький, ну а для больших есть autoconf, automake и иже с ними. 
Но самому мне только ещё предстоит всю эту благодать изучить. Я лишь чуть-чуть знаю сам make.

Про всякие там scons'ы благоразумно умолчу, т.к. «Остап играл в шашки... бр-р-р!.. в шахматы во второй раз в жизни.»  smile 

P.S. А ещё есть Rake «рубийный»... 


Это сообщение отредактировал(а) V.A.KeRneL - 23.12.2009, 00:02


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
BobiKK
Дата 28.1.2007, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



От те на! "А мужики-то не знали", что make устарел. Бедные гентушнеги, а.
PM MAIL   Вверх
MAKCim
Дата 28.1.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



вот вы мне скажите - каким местом make устарел?  smile по функциональности?

Это сообщение отредактировал(а) MAKCim - 28.1.2007, 10:32


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0568 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.