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

 
 
> Makefile, Растолкуйте по CFLAGS
uriy
сообщение Apr 27 2011, 07:04
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Ковыряюсь в проектах на ucLinux.
Куча непонятных вещей в Makefile
Среди них параметры для переменной CFLAGS.
Например такие:
Код
CFLAGS += -DUNIX -DUPLOADDIR='"/usr/tmp"'

При этом в си файле имеется следующая строчка
Код
uploadfname = (char *)malloc(strlen(UPLOADDIR)+strlen(entry.value)+2);

UPLOADDIR берется из Makefile т.к. в проекте определен другой путь.
Код
#ifndef UPLOADDIR
#define UPLOADDIR "/tmp"
#endif

Каким образом из Makefile переменная передается в си файлы. И что за загодочная буква D в начале?

Следующий пример из другого проекта:
Код
CFLAGS = @CFLAGS@ -DUSE_AUTH

В си файлах имеется:
Код
#ifdef USE_AUTH
    { "Auth", S2A, c_add_auth, NULL },
#endif

Но в этом проекте USE_AUTH не передается в си файлы. Я затолкал в один из хидеров #define USE_AUTH.
Думаю что это равнозначно. Прав я или нет? И почему параметр не передался. Куда копать?
Go to the top of the page
 
+Quote Post



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

 


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


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