Fix running emsdk_env.sh outside of emsdk directory (#541)

Fixes: #540
diff --git a/emsdk.py b/emsdk.py
index 1f1d85b..61c7e39 100755
--- a/emsdk.py
+++ b/emsdk.py
@@ -170,10 +170,18 @@
 if os.path.exists(os.path.join(emsdk_path(), '.emscripten')):
   emscripten_config_directory = emsdk_path()
 
-EMSDK_SET_ENV = 'emsdk_set_env.ps1' if POWERSHELL \
-    else 'emsdk_set_env.bat' if (WINDOWS and not MSYS) \
-    else 'emsdk_set_env.csh' if CSH \
-    else 'emsdk_set_env.sh'
+
+def get_set_env_script_name():
+  if POWERSHELL:
+    return 'emsdk_set_env.ps1'
+  if WINDOWS and not MSYS:
+    return 'emsdk_set_env.bat'
+  if CSH:
+    return 'emsdk_set_env.csh'
+  return 'emsdk_set_env.sh'
+
+
+EMSDK_SET_ENV = os.path.join(emsdk_path(), get_set_env_script_name())
 
 ARCHIVE_SUFFIXES = ('zip', '.tar', '.gz', '.xz', '.tbz2', '.bz2')