# # This is separated out because we need 2 separate Jamrules to # do the multi-root thing in which the bug presents itself. # # Returns $(SUBDIR) on failure, and an empty list on success. # rule TestTokens { local undef = "undefined" ; local result ; if $(TEST-SET) { #Echo "Jam already knows about TEST - it's $(TEST)" ; #Echo " and TEST-ROOT is $(TEST-ROOT:J=/)" ; #Echo " and TEST-UP is $(TEST-UP:J=/)" ; #Echo " and TEST-DOWN is $(TEST-DOWN:J=/)" ; } if $(ROOT-SET) { #Echo "Jam already knows about ROOT - it's $(ROOT)" ; #Echo " and ROOT-ROOT is $(ROOT-ROOT:J=/)" ; #Echo " and ROOT-UP is $(ROOT-UP:J=/)" ; #Echo " and ROOT-DOWN is $(ROOT-DOWN:J=/)" ; } #Echo " and SUBDIR_ROOT is $(SUBDIR_ROOT:J=/)" ; #Echo " and SUBDIR_UP is $(SUBDIR_UP:J=/)" ; #Echo " and SUBDIR_DOWN is $(SUBDIR_DOWN:J=/)" ; # ensure the variables we're testing evaluate to _something_! SUBDIR ?= $(undef) ; SUBDIR_TOKENS ?= $(undef) ; EXPECTED_TOKENS = $(<) ; EXPECTED_TOKENS ?= $(undef) ; if $(EXPECTED_TOKENS) = $(SUBDIR_TOKENS) { Echo " ... $(SUBDIR) looks OK" ; } else { Echo " Failed in $(SUBDIR)!" ; Echo " expected subdir tokens: \"$(EXPECTED_TOKENS:J=,)\"" ; Echo " actual subdir tokens: \"$(SUBDIR_TOKENS:J=,)\"" ; Echo " SUBDIR_UP: $(SUBDIR_UP)" ; result = $(SUBDIR) ; } return $(result) ; }