Куча непонятных вещей в Makefile
Среди них параметры для переменной CFLAGS.
Например такие:
Код
CFLAGS += -DUNIX -DUPLOADDIR='"/usr/tmp"'
При этом в си файле имеется следующая строчка
Код
uploadfname = (char *)malloc(strlen(UPLOADDIR)+strlen(entry.value)+2);
UPLOADDIR берется из Makefile т.к. в проекте определен другой путь.
Код
#ifndef UPLOADDIR
#define UPLOADDIR "/tmp"
#endif
#define UPLOADDIR "/tmp"
#endif
Каким образом из Makefile переменная передается в си файлы. И что за загодочная буква D в начале?
Следующий пример из другого проекта:
Код
CFLAGS = @CFLAGS@ -DUSE_AUTH
В си файлах имеется:
Код
#ifdef USE_AUTH
{ "Auth", S2A, c_add_auth, NULL },
#endif
{ "Auth", S2A, c_add_auth, NULL },
#endif
Но в этом проекте USE_AUTH не передается в си файлы. Я затолкал в один из хидеров #define USE_AUTH.
Думаю что это равнозначно. Прав я или нет? И почему параметр не передался. Куда копать?