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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в Makefile получить информацию об ОС ? Хотя бы, Линукс это, или БСД... 
:(
    Опции темы
andrew_121
Дата 11.6.2009, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

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



Сабж.
Такое возможно?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Lazin
Дата 12.6.2009, 00:10 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Цитата(andrew_121 @  11.6.2009,  22:14 Найти цитируемый пост)
Такое возможно? 

нет, make для этого не предназначен, если нужна кроссплатформенность - используй кроссплатформенную билд систему - qmake, cmake, scons
PM MAIL Skype GTalk   Вверх
azesmcar
Дата 12.6.2009, 09:32 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(Lazin @  12.6.2009,  00:10 Найти цитируемый пост)
qmake, cmake, scons 
...imake

Еще можно что-то вроде этого сделать. Но мне это не кажется хорошим решением.
Код

OS = `uname -o`
TARGET   = executable.${OS}



Это сообщение отредактировал(а) azesmcar - 12.6.2009, 09:43
PM   Вверх
andrew_121
Дата 12.6.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

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



Как определить, установлен ли компонент от которого зависит цель, и если не установлен, запустить configure компонента от которого зависит сборка цели, и получить результат.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
DRUID3
  Дата 12.6.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lazin @  11.6.2009,  23:10 Найти цитируемый пост)
нет, make для этого не предназначен, если нужна кроссплатформенность - используй кроссплатформенную билд систему - qmake, cmake, scons 

??? smile  Совет ни о чем в никуда... qmake, cmake, scons - это несколько другое... Если человеку нужно Linux&BSD то make вполне хватит. 

2azesmcar это вполне хорошее решение smile .

2andrew_121
Из makefile доступен весь арсенал программирования в bash (ну и других шкурках). Вбиваем соответственно в Googl "программирование в bash" и приобщаемся к одному из самых мощных и гибких инструментов UNIX-систем smile ...

Добавлено через 12 минут и 58 секунд
Да, вот еще...


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
azesmcar
Дата 13.6.2009, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(DRUID3 @  12.6.2009,  23:07 Найти цитируемый пост)
2azesmcar это вполне хорошее решение smile .

Это всего лишь решение частного случая. Для общего случая подходят вышеупомянутые решения.
PM   Вверх
DRUID3
  Дата 13.6.2009, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(azesmcar @  12.6.2009,  23:26 Найти цитируемый пост)
Это всего лишь решение частного случая. Для общего случая подходят вышеупомянутые решения. 

А не надо пытаться решить своим кодом самые общие из возможных случаев smile - будет много лишнего и все равно не получится. Например для каких-то коммерческих никсов может и не быть порта qmake, cmake, scons или их применение чуткое руководство воспримет излишним(есть "военный" Linux в российских ВС, под свой проц, где и так не все гладко с ошибками) и т.д. и т.п. Но я понимаю, что обычно у народа рефлексия на кроссплатформенность Win-Lin-Mac OS X  smile потому то и qmake советуют.

 Но аФФтАр обмолвилСО, что нужна кроссплатформенность внутри nix (и рубрика соответствующая, не правда ли? smile ) потому применение дополнительных утелитоГ (основная изюминка которых "это еще и Windows") явно излишне. 


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
azesmcar
Дата 13.6.2009, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



DRUID3

Ну я говорил про imake. Он поддерживает linux, unix, sun-os, hp-ux. В случае если это не только имя файла а подключаемые библиотеки, некоторые пути ... и так далее, писать shell script в Makefile очень неудобно и непрактично, для того и создали подобные утилиты которые генерируют Makefile.  smile а так, есть несколько решений, автор выберет нужное  smile 
PM   Вверх
chaos
Дата 17.6.2009, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



bjam? smile
PM WWW   Вверх
Lazin
Дата 17.6.2009, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



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

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

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


 




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


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

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