diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..5053e7d
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1 @@
+include $(call all-subdir-makefiles)
diff --git a/cpufreq/Android.mk b/cpufreq/Android.mk
new file mode 100644
index 0000000..f563d25
--- /dev/null
+++ b/cpufreq/Android.mk
@@ -0,0 +1,17 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = cpufreq
+
+define $(module_name)_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_num := 01 02 03 04 05 06 07 08 09
+$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable, $(module_name)_$(item))))
diff --git a/cpuhotplug/Android.mk b/cpuhotplug/Android.mk
new file mode 100644
index 0000000..521f3ee
--- /dev/null
+++ b/cpuhotplug/Android.mk
@@ -0,0 +1,30 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = cpuhotplug
+
+define $(module_name)_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_num := 01 02 03 04 05 06 07 08
+$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable, $(module_name)_$(item))))
+
+define $(module_name)_etc_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_names := 1_sanity_check z_sanity_check 
+$(foreach item,$(test_names),$(eval $(call $(module_name)_etc_add_executable, $(item))))
diff --git a/cpuidle/Android.mk b/cpuidle/Android.mk
new file mode 100644
index 0000000..35124d7
--- /dev/null
+++ b/cpuidle/Android.mk
@@ -0,0 +1,25 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = cpuidle
+
+define $(module_name)_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_num := 01 02 03
+$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable, $(module_name)_$(item))))
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := cpuidle_killer
+LOCAL_SRC_FILES:= cpuidle_killer.c
+LOCAL_STATIC_LIBRARIES := libcutils libc 
+LOCAL_MODULE_TAGS := tests
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+include $(BUILD_EXECUTABLE)
diff --git a/include/Android.mk b/include/Android.mk
new file mode 100644
index 0000000..6173bb4
--- /dev/null
+++ b/include/Android.mk
@@ -0,0 +1,17 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = include
+
+define $(module_name)_etc_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_names := functions suspend thermal_functions
+$(foreach item,$(test_names),$(eval $(call $(module_name)_etc_add_executable, $(item))))
diff --git a/sched_mc/Android.mk b/sched_mc/Android.mk
new file mode 100644
index 0000000..44cee14
--- /dev/null
+++ b/sched_mc/Android.mk
@@ -0,0 +1,17 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = sched
+
+define $(module_name)_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)_mc
+    include $(BUILD_PREBUILT)
+endef
+
+test_num := 01 02 03 04
+$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable, $(module_name)_$(item))))
diff --git a/suspend/Android.mk b/suspend/Android.mk
new file mode 100644
index 0000000..41cdd99
--- /dev/null
+++ b/suspend/Android.mk
@@ -0,0 +1,17 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = suspend
+
+define $(module_name)_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_num := 01 02 03 04 05 06
+$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable, $(module_name)_$(item))))
diff --git a/thermal/Android.mk b/thermal/Android.mk
new file mode 100644
index 0000000..0389c04
--- /dev/null
+++ b/thermal/Android.mk
@@ -0,0 +1,17 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = thermal
+
+define $(module_name)_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1.sh
+    LOCAL_SRC_FILES := $1.sh
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_PREBUILT)
+endef
+
+test_num := 01 02 03 04 05 06
+$(foreach item,$(test_num),$(eval $(call $(module_name)_add_executable, $(module_name)_$(item))))
diff --git a/utils/Android.mk b/utils/Android.mk
new file mode 100644
index 0000000..c41415f
--- /dev/null
+++ b/utils/Android.mk
@@ -0,0 +1,17 @@
+include $(call all-subdir-makefiles)
+LOCAL_PATH:= $(call my-dir)
+
+module_name = utils
+
+define $(module_name)_etc_add_executable
+    include $(CLEAR_VARS)
+    LOCAL_MODULE_TAGS := optional 
+    LOCAL_MODULE_CLASS := tests
+    LOCAL_MODULE := $1
+    LOCAL_SRC_FILES := $1.c
+    LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)/pm-qa/$(module_name)
+    include $(BUILD_EXECUTABLE)
+endef
+
+test_names := cpuburn cpucycle heat_cpu nanosleep
+$(foreach item,$(test_names),$(eval $(call $(module_name)_etc_add_executable, $(item))))
