Я объявил переменную в файле макияжем, как this-Как определить глобальную переменную в Makefile
var_COVERAGE_FLAGS?=
Я присвоенного значение переменной в целевой называется охват
coverage:var_COVERAGE_FLAGS = -MDevel::Cover=-silent,on,+select,/home/scratch.ataur_gpu/run_steps/client/dev1/dev/inf/run/mainline/lib,+ignore,^\\w+
coverage:var_COVERAGE_POST=2>&1 | grep -v "Can't";
coverage:var_COVERAGE_PRE = @echo "Running coverage for [email protected]";
coverage:clean_coverage
$(call run_with_perl,$*) $(var_COVERAGE_FLAGS) $(var_COVERAGE_TEST_NAMES) $(var_COVERAGE_POST)
@echo "$*"
@echo "$(var_COVERAGE_FLAGS)"
@echo "====================="
$(exec_COVER)
Я определил
define run_with_perl
$(PERL_RUNNER) $1 $(TEST_ARGS)
endef
и переменная PERL_RUNNER определен ниже
PERL_RUNNER := $(exec_PERL) $(PERL_ARGS) $(env_PERLINCLUDE) $(var_COVERAGE_FLAGS)
и остальная часть переменной правильно Определена вопрос всякий раз, когда я звоню run_with_perl
значение $(var_COVERAGE_FLAGS)
сбрасывается на нуль или вы можете сказать, что это Target Specific Variable. Так как я могу сделать это глобальной переменной?
Присвоить значения требуемой переменной после покрытия «**»: clean_coverage ** «без» ** охвата: **. –
Как назначить значения? Посмотрите здесь: http://stackoverflow.com/a/1909390/2706918 –