| 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 |