Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как передать значение из makefile в основную программу?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
kurtis
Помогите, не могу добиться чтоб значение из makefile передавалось в основную программу. Использую WinAVR-20081205.
Делаю так
В makefile пишу строчку
Код
CTRL_MRTP3 = 1
далее передаю через флаг -D компилятора
Код
CFLAGS  = -g3 -s $(OPT) $(CSTD) $(CWARN) \
-DF_CPU=$(F_CPU)UL \
-DCTRL_MRTP3=$(CTRL_MRTP3)\
и в основной программе делаю такую проверку
Код
      #if CTRL_MRTP3
        #error "значение передано"  // условие 1
      #else
        #error "значение НЕ передано"   // условие 2
      #endif
и независимо от значений CTRL_MRTP3 указанных в makefile, всегда выполняется 2-е условие.
Если же в проверке я меняю CTRL_MRTP3 на F_CPU, то выполняется 1-е условие. Т.е. F_CPU передается, а CTRL_MRTP3 почему-то нет!
В чем может быть проблема?
demiurg_spb
Код
ADD_COMPILE_FLAGS  = -DCTRL_MRTP3=1
ADD_COMPILE_FLAGS += -DCTRL_MRTP21=812
.....
CFLAGS += $(ADD_COMPILE_FLAGS)
CPPFLAGS += $(ADD_COMPILE_FLAGS)

На мой взгляд так писть нагляднее...
Код
#if   (CTRL_MRTP3==1)
......
#elif (CTRL_MRTP3==2)
......
endif
kurtis
Да, Ваш вариант работает именно так как нужно!
Спасибо! smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.