зеркало из https://github.com/mozilla/gecko-dev.git
128 строки
2.2 KiB
Makefile
128 строки
2.2 KiB
Makefile
ifdef FOO
|
|
$(error FOO is not defined!)
|
|
endif
|
|
|
|
FOO = foo
|
|
FOOFOUND = false
|
|
BARFOUND = false
|
|
BAZFOUND = false
|
|
|
|
ifdef FOO
|
|
FOOFOUND = true
|
|
else ifdef BAR
|
|
BARFOUND = true
|
|
else
|
|
BAZFOUND = true
|
|
endif
|
|
|
|
BAR2 = bar2
|
|
FOO2FOUND = false
|
|
BAR2FOUND = false
|
|
BAZ2FOUND = false
|
|
|
|
ifdef FOO2
|
|
FOO2FOUND = true
|
|
else ifdef BAR2
|
|
BAR2FOUND = true
|
|
else
|
|
BAZ2FOUND = true
|
|
endif
|
|
|
|
FOO3FOUND = false
|
|
BAR3FOUND = false
|
|
BAZ3FOUND = false
|
|
|
|
ifdef FOO3
|
|
FOO3FOUND = true
|
|
else ifdef BAR3
|
|
BAR3FOUND = true
|
|
else
|
|
BAZ3FOUND = true
|
|
endif
|
|
|
|
ifdef RANDOM
|
|
CONTINUATION = \
|
|
else \
|
|
endif
|
|
endif
|
|
|
|
ifndef ASDFJK
|
|
else
|
|
$(error ASFDJK was not set)
|
|
endif
|
|
|
|
TESTSET =
|
|
|
|
ifdef TESTSET
|
|
$(error TESTSET was not set)
|
|
endif
|
|
|
|
TESTEMPTY = $(NULL)
|
|
ifndef TESTEMPTY
|
|
$(error TEST-FAIL TESTEMPTY was probably expanded!)
|
|
endif
|
|
|
|
# ifneq ( a,a)
|
|
# $(error Arguments to ifeq should be stripped before evaluation)
|
|
# endif
|
|
|
|
XSPACE = x # trick
|
|
|
|
ifneq ($(NULL),$(NULL))
|
|
$(error TEST-FAIL ifneq)
|
|
endif
|
|
|
|
ifneq (x , x)
|
|
$(error argument-stripping1)
|
|
endif
|
|
|
|
ifeq ( x,x )
|
|
$(error argument-stripping2)
|
|
endif
|
|
|
|
ifneq ($(XSPACE), x )
|
|
$(error argument-stripping3)
|
|
endif
|
|
|
|
ifeq 'x ' ' x'
|
|
$(error TEST-FAIL argument-stripping4)
|
|
endif
|
|
|
|
all:
|
|
test $(FOOFOUND) = true # FOOFOUND
|
|
test $(BARFOUND) = false # BARFOUND
|
|
test $(BAZFOUND) = false # BAZFOUND
|
|
test $(FOO2FOUND) = false # FOO2FOUND
|
|
test $(BAR2FOUND) = true # BAR2FOUND
|
|
test $(BAZ2FOUND) = false # BAZ2FOUND
|
|
test $(FOO3FOUND) = false # FOO3FOUND
|
|
test $(BAR3FOUND) = false # BAR3FOUND
|
|
test $(BAZ3FOUND) = true # BAZ3FOUND
|
|
ifneq ($(FOO),foo)
|
|
echo TEST-FAIL 'FOO neq foo: "$(FOO)"'
|
|
endif
|
|
ifneq ($(FOO), foo) # Whitespace after the comma is stripped
|
|
echo TEST-FAIL 'FOO plus whitespace'
|
|
endif
|
|
ifeq ($(FOO), foo ) # But not trailing whitespace
|
|
echo TEST-FAIL 'FOO plus trailing whitespace'
|
|
endif
|
|
ifeq ( $(FOO),foo) # Not whitespace after the paren
|
|
echo TEST-FAIL 'FOO with leading whitespace'
|
|
endif
|
|
ifeq ($(FOO),$(NULL) foo) # Nor whitespace after expansion
|
|
echo TEST-FAIL 'FOO with embedded ws'
|
|
endif
|
|
ifeq ($(BAR2),bar)
|
|
echo TEST-FAIL 'BAR2 eq bar'
|
|
endif
|
|
ifeq '$(BAR3FOUND)' 'false'
|
|
echo BAR3FOUND is ok
|
|
else
|
|
echo TEST-FAIL BAR3FOUND is not ok
|
|
endif
|
|
ifndef FOO
|
|
echo TEST-FAIL "foo not defined?"
|
|
endif
|
|
@echo TEST-PASS
|