Почему вы хотите так загрязнять свой код?(Уточнение: я имею в виду написание кода, специфичного для Eclipse или Hudson. Просто выберите лучшее имя макроса и определите его в Eclipse или Hudson.)
Я бы ставил отдельные цели или иным образом изменял файл сборки, чтобы передать-DECLIPSE или -DHUDSON препроцессору.
Или передать параметр, чтобы сделать:
Свойства проекта -> Сборка C / C ++ -> Команда построения: make CFLAGS+=-DECLIPSE
Редактировать: Iневозможно получить + = для работы из командной строки.Возможно, вы захотите попробовать внутри Makefile:
ifeq ($(BUILT_BY), eclipse)
CFLAGS += -D_Eclipse_
CXXFLAGS += -D_Eclipse_
endif
и изменить команду make команды eclipse следующим образом: make BUILT_BY=eclipse