tests/var-set.mk
author Gregory Szorc <gps@mozilla.com>
Thu, 19 Dec 2013 11:18:23 -0800
changeset 362 d564760b353e
parent 191 7a8dc41115d6
permissions -rw-r--r--
Bug 952206 - Abort execution when a required make file fails to remake; r=bsmedberg Previously, errors during make file making (either the main make file or an included make file) were ignored. This behavior diverged from GNU Make, which aborted execution if the make file was required and ignored the failure if it was optional. This patch changes pymake to abort if the make file is required, brining its behavior inline with GNU make.

#T commandline: ['OBASIC=oval']

BASIC = val

TEST = $(TEST)

TEST2 = $(TES
TEST2 += T)

TES T = val

RECVAR = foo
RECVAR += var baz 

IMMVAR := bloo
IMMVAR += $(RECVAR)

BASIC ?= notval

all: BASIC = valall
all: RECVAR += $(BASIC)
all: IMMVAR += $(BASIC)
all: UNSET += more
all: OBASIC += allmore

CHECKLIT = $(NULL) check
all: CHECKLIT += appendliteral

RECVAR = blimey

TESTEMPTY = \
	$(NULL)

all: other
	test "$(TEST2)" = "val"
	test '$(value TEST2)' = '$$(TES T)'
	test "$(RECVAR)" = "blimey valall"
	test "$(IMMVAR)" = "bloo foo var baz  valall"
	test "$(UNSET)" = "more"
	test "$(OBASIC)" = "oval"
	test "$(CHECKLIT)" = " check appendliteral"
	test "$(TESTEMPTY)" = ""
	@echo TEST-PASS

OVAR = oval
OVAR ?= onotval

other: OVAR ?= ooval
other: LATERVAR ?= lateroverride

LATERVAR = olater

other:
	test "$(OVAR)" = "oval"
	test "$(LATERVAR)" = "lateroverride"