dual-master: delete optional stacks only when configured

The unconditional deletion of optional stacks (dashboard-stack and
replication-stack) might cause failures in case the relevant environment
variables (DASHBOARD_STACK_NAME and SERVICE_REPLICATION_STACK_NAME
respectively) weren't set:

aws: error: argument --stack-name: expected one argument

Conditionally delete optional stacks only when they are enabled.

Bug: Issue 13439
Change-Id: I8a36b6bb6241bd69cefda83c8d760aebd9fe41dc
diff --git a/dual-master/Makefile b/dual-master/Makefile
index 8ff1237..d3fe5c9 100644
--- a/dual-master/Makefile
+++ b/dual-master/Makefile
@@ -26,22 +26,24 @@
 				gerrit-build gerrit-publish haproxy-publish syslog-sidecar-publish
 
 ifeq ($(REPLICATION_SERVICE_ENABLED),true)
-optional_replication_targets=service-replication wait-for-service-replication-creation
+optional_replication_targets_creation=service-replication wait-for-service-replication-creation
+optional_replication_targets_deletion=delete-service-replication wait-for-service-replication-deletion
 endif
 
 ifeq ($(METRICS_CLOUDWATCH_ENABLED),true)
-optional_dashboard_targets=dashboard wait-for-dashboard-creation
+optional_dashboard_targets_creation=dashboard wait-for-dashboard-creation
+optional_dashboard_targets_deletion=delete-dashboard wait-for-dashboard-deletion
 endif
 
 create-all: upload-common-templates \
 						git-daemon-publish git-ssh-publish \
 						gerrit-publish haproxy-publish syslog-sidecar-publish \
 						cluster wait-for-cluster-creation \
-						$(optional_replication_targets) \
+						$(optional_replication_targets_creation) \
 						service-slave service-master-1 \
 						wait-for-service-master-1-creation wait-for-service-slave-creation \
 						service-master-2 wait-for-service-master-2-creation \
-						$(optional_dashboard_targets) \
+						$(optional_dashboard_targets_creation) \
 						service-lb wait-for-service-lb-creation \
 						dns-routing wait-for-dns-routing-creation
 
@@ -454,9 +456,10 @@
 
 delete-all: delete-dns-routing wait-for-dns-routing-deletion \
 						delete-service-lb wait-for-service-lb-deletion \
-						delete-service-master-1 delete-service-master-2 delete-service-slave delete-dashboard \
-						wait-for-service-master-1-deletion wait-for-service-master-2-deletion wait-for-service-slave-deletion wait-for-dashboard-deletion \
-						delete-service-replication wait-for-service-replication-deletion \
+						delete-service-master-1 delete-service-master-2 delete-service-slave \
+						wait-for-service-master-1-deletion wait-for-service-master-2-deletion wait-for-service-slave-deletion \
+						$(optional_dashboard_targets_deletion) \
+						$(optional_replication_targets_deletion) \
 						delete-cluster wait-for-cluster-deletion
 
 gerrit-publish: