Делаю так
В makefile пишу строчку
Код
CTRL_MRTP3 = 1
далее передаю через флаг -D компилятораКод
CFLAGS = -g3 -s $(OPT) $(CSTD) $(CWARN) \
-DF_CPU=$(F_CPU)UL \
-DCTRL_MRTP3=$(CTRL_MRTP3)\
и в основной программе делаю такую проверку-DF_CPU=$(F_CPU)UL \
-DCTRL_MRTP3=$(CTRL_MRTP3)\
Код
#if CTRL_MRTP3
#error "значение передано" // условие 1
#else
#error "значение НЕ передано" // условие 2
#endif
и независимо от значений CTRL_MRTP3 указанных в makefile, всегда выполняется 2-е условие.#error "значение передано" // условие 1
#else
#error "значение НЕ передано" // условие 2
#endif
Если же в проверке я меняю CTRL_MRTP3 на F_CPU, то выполняется 1-е условие. Т.е. F_CPU передается, а CTRL_MRTP3 почему-то нет!
В чем может быть проблема?