AWS の cli を叩いて、リソースがない場合に作成みたいなことを Makefile の中でやりたいです

シェル変数でも Makefile の変数でもいいのですが
以下のようなテストコマンドをいろいろかいてみたんですがどうやっても空文字にマッチするIF文に入ってくれません

  1. シェル変数を使う場合
test1:
    export A=1
    echo $A

エクスポートしても別の行でとり出せない

#make test1
export A=1
echo
  1. eval のテスト
test2:
    $(eval A := 1)
    echo $(A)
ifeq (A, "")
    $(eval A := 2)
endif
    echo $(A)

これは正常

#make test2
echo 1
1
echo 1
1

3〜5. 実際に判定してほしいコマンド (違いは ifeq 文のみです)

test3:
    $(eval A := $(shell aws apigateway get-rest-apis | jq -r '.items[] | select(.name=="test") | .id')))
    echo $(A)
ifeq (A, "")
    $(eval A := 2)
endif
    echo $(A)

test4:
    $(eval A := $(shell aws apigateway get-rest-apis | jq -r '.items[] | select(.name=="test") | .id')))
    echo $(A)
ifeq ("A", "")
    $(eval A := 2)
endif
    echo $(A)

test5:
    $(eval A := $(shell aws apigateway get-rest-apis | jq -r '.items[] | select(.name=="test") | .id')))
    echo $(A)
ifeq ($(A), "")
    $(eval A := 2)
endif
    echo $(A)

どれも api-gateway が定義されてない場合空文字になって
最後に 2 になってほしいのにならない

#make test3
echo

echo

#make test4
echo

echo

#make test5
echo

echo

どうすればコマンド結果が空かどうかを判定できるでしょうか

もっと根本的に Makefile 内で
aws cli の結果によってリソースを作成するという簡単な方法があったりするでしょうか

make のバージョンは以下です

# make -v
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

参考: http://quruli.ivory.ne.jp/document/make_3.79.1/make-jp_6.html#Conditionals

追記:

コメントで教えていただいたリンク先を参照して

test6:
    $(eval A := $(shell aws apigateway get-rest-apis | jq -r '.items[] | select(.name=="test") | .id'))
    echo $(A)
ifeq ($(A),)
    $(eval A := 2)
endif
    echo $(A)

という書き方を試したところ

# make test6
echo

echo 2
2

と IF に入ってくれたのですが

逆に空文字以外でも必ず IF 文にマッチしてしまいます

test7:
    $(eval A := 1)
    echo $(A)
ifeq ($(A),)
    $(eval A := 2)
endif
    echo $(A)
#make test7
echo 1
1
echo 2
2

どこか書き方がまずいのでしょうか