Revert "Require TARGET_RELEASE for builds"

This reverts commit 24366c842b903c29c39d36af42384e14573e9124.

Reason for revert: b/309900087

Change-Id: I36550cbb0ae21a9c4f783f8a2fcd08ade2707f68
diff --git a/core/release_config.mk b/core/release_config.mk
index 3b594b2..e1e0726 100644
--- a/core/release_config.mk
+++ b/core/release_config.mk
@@ -82,32 +82,28 @@
 )
 FLAG_DECLARATION_FILES :=
 
-ifeq ($(TARGET_RELEASE),)
-    # We allow some internal paths to explicitly set TARGET_RELEASE to the
-    # empty string.  For the most part, 'make' treats unset and empty string as
-    # the same.  But the following line differentiates, and will only assign
-    # if the variable was completely unset.
-    TARGET_RELEASE ?= was_unset
-    ifeq ($(TARGET_RELEASE),was_unset)
-        $(error No release config set for target; please set TARGET_RELEASE, or if building on the command line use 'lunch <target>-<release>-<build_type>', where release is one of: $(_all_release_configs))
-    endif
-    # Instead of leaving this string empty, we want to default to a valid
-    # setting.  Full builds coming through this path is a bug, but in case
-    # of such a bug, we want to at least get consistent, valid results.
-    TARGET_RELEASE = trunk_staging
-endif
-
+# If TARGET_RELEASE is set, fail if there is no matching release config
+# If it isn't set, no release config files will be included and all flags
+# will get their default values.
+ifneq ($(TARGET_RELEASE),)
 ifeq ($(filter $(_all_release_configs), $(TARGET_RELEASE)),)
     $(error No release config found for TARGET_RELEASE: $(TARGET_RELEASE). Available releases are: $(_all_release_configs))
+else
+    # Choose flag files
+    # Don't sort this, use it in the order they gave us.
+    # Do allow duplicate entries, retaining only the first usage.
+    flag_value_files :=
+    $(foreach f,$(_all_release_configs.$(TARGET_RELEASE).FILES), \
+      $(if $(filter $(f),$(flag_value_files)),,$(eval flag_value_files += $(f)))\
+    )
 endif
-
-# Choose flag files
-# Don't sort this, use it in the order they gave us.
-# Do allow duplicate entries, retaining only the first usage.
+else
+# Useful for finding scripts etc that aren't passing or setting TARGET_RELEASE
+ifneq ($(FAIL_IF_NO_RELEASE_CONFIG),)
+    $(error FAIL_IF_NO_RELEASE_CONFIG was set and TARGET_RELEASE was not)
+endif
 flag_value_files :=
-$(foreach f,$(_all_release_configs.$(TARGET_RELEASE).FILES), \
-  $(if $(filter $(f),$(flag_value_files)),,$(eval flag_value_files += $(f)))\
-)
+endif
 
 # Unset variables so they can't use them
 define declare-release-config