Enable tests in Mbed OS environment

Update Makefiles and config.pl to adapt to directory structure used
in Mbed OS.
diff --git a/Makefile b/Makefile
index 1ae6bd9..9457971 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,18 @@
 DESTDIR=/usr/local
 PREFIX=mbedtls_
 
+PROGRAMS_DIR=./programs
+TESTS_DIR=./tests
+
+DIR_FOR_MBED_TLS_ENV=./library
+ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" ""
+	LIBRARY_DIR=./library
+	INCLUDE_DIR=./include
+else
+	LIBRARY_DIR=./src
+	INCLUDE_DIR=./inc
+endif
+
 .SILENT:
 
 .PHONY: all no_test programs lib tests install uninstall clean test check covtest lcov apidoc apidoc_clean
@@ -12,26 +24,26 @@
 no_test: programs
 
 programs: lib
-	$(MAKE) -C programs
+	$(MAKE) -C $(PROGRAMS_DIR)
 
 lib:
-	$(MAKE) -C library
+	$(MAKE) -C $(LIBRARY_DIR)
 
 tests: lib
-	$(MAKE) -C tests
+	$(MAKE) -C $(TESTS_DIR)
 
 ifndef WINDOWS
 install: no_test
-	mkdir -p $(DESTDIR)/include/mbedtls
-	cp -rp include/mbedtls $(DESTDIR)/include
+	mkdir -p $(DESTDIR)/$(INCLUDE_DIR)/mbedtls
+	cp -rp $(INCLUDE_DIR)/mbedtls $(DESTDIR)/$(INCLUDE_DIR)
 
 	mkdir -p $(DESTDIR)/lib
-	cp -RP library/libmbedtls.*    $(DESTDIR)/lib
-	cp -RP library/libmbedx509.*   $(DESTDIR)/lib
-	cp -RP library/libmbedcrypto.* $(DESTDIR)/lib
+	cp -RP $(LIBRARY_DIR)/libmbedtls.*    $(DESTDIR)/lib
+	cp -RP $(LIBRARY_DIR)/libmbedx509.*   $(DESTDIR)/lib
+	cp -RP $(LIBRARY_DIR)/libmbedcrypto.* $(DESTDIR)/lib
 
 	mkdir -p $(DESTDIR)/bin
-	for p in programs/*/* ; do              \
+	for p in $(PROGRAMS_DIR)/*/* ; do              \
 	    if [ -x $$p ] && [ ! -d $$p ] ;     \
 	    then                                \
 	        f=$(PREFIX)`basename $$p` ;     \
@@ -40,12 +52,12 @@
 	done
 
 uninstall:
-	rm -rf $(DESTDIR)/include/mbedtls
+	rm -rf $(DESTDIR)/$(INCLUDE_DIR)/mbedtls
 	rm -f $(DESTDIR)/lib/libmbedtls.*
 	rm -f $(DESTDIR)/lib/libmbedx509.*
 	rm -f $(DESTDIR)/lib/libmbedcrypto.*
 
-	for p in programs/*/* ; do              \
+	for p in $(PROGRAMS_DIR)/*/* ; do              \
 	    if [ -x $$p ] && [ ! -d $$p ] ;     \
 	    then                                \
 	        f=$(PREFIX)`basename $$p` ;     \
@@ -82,15 +94,15 @@
 endif
 
 clean:
-	$(MAKE) -C library clean
-	$(MAKE) -C programs clean
-	$(MAKE) -C tests clean
+	$(MAKE) -C $(LIBRARY_DIR) clean
+	$(MAKE) -C $(PROGRAMS_DIR) clean
+	$(MAKE) -C $(TESTS_DIR) clean
 ifndef WINDOWS
 	find . \( -name \*.gcno -o -name \*.gcda -o -name \*.info \) -exec rm {} +
 endif
 
 check: lib tests
-	$(MAKE) -C tests check
+	$(MAKE) -C $(TESTS_DIR) check
 
 test: check
 
@@ -99,14 +111,14 @@
 # make CFLAGS='--coverage -g3 -O0'
 covtest:
 	$(MAKE) check
-	programs/test/selftest
-	tests/compat.sh
-	tests/ssl-opt.sh
+	$(PROGRAMS_DIR)/test/selftest
+	$(TESTS_DIR)/compat.sh
+	$(TESTS_DIR)/ssl-opt.sh
 
 lcov:
 	rm -rf Coverage
-	lcov --capture --initial --directory library -o files.info
-	lcov --capture --directory library -o tests.info
+	lcov --capture --initial --directory $(LIBRARY_DIR) -o files.info
+	lcov --capture --directory $(LIBRARY_DIR) -o tests.info
 	lcov --add-tracefile files.info --add-tracefile tests.info -o all.info
 	lcov --remove all.info -o final.info '*.h'
 	gendesc tests/Descriptions.txt -o descriptions
@@ -122,7 +134,7 @@
 endif
 
 ## Editor navigation files
-C_SOURCE_FILES = $(wildcard include/*/*.h library/*.[hc] programs/*/*.[hc] tests/suites/*.function)
+C_SOURCE_FILES = $(wildcard $(INCLUDE_DIR)/*/*.h $(LIBRARY_DIR)/*.[hc] $(PROGRAMS_DIR)/*/*.[hc] $(TESTS_DIR)/suites/*.function)
 tags: $(C_SOURCE_FILES)
 	ctags -o $@ $(C_SOURCE_FILES)
 TAGS: $(C_SOURCE_FILES)