On 14 June 2012 22:31, Kejun Zhou <
kejun.zhou@linaro.org> wrote:
> Solved.
>
> It is the Android.mk
>
> ====pm-qa Android.mk====
> include $(call all-subdir-makefiles)
>
> include $(CLEAR_VARS)
> CPUFREQ := cpufreq_01.sh cpufreq_02.sh cpufreq_03.sh cpufreq_04.sh
> cpufreq_05.sh cpufreq_06.sh cpufreq_07.sh cpufreq_08.sh cpufreq_09.sh
>
> CPUHOTPLUG := cpuhotplug_01.sh cpuhotplug_02.sh cpuhotplug_03.sh
> cpuhotplug_04.sh cpuhotplug_05.sh cpuhotplug_06.sh cpuhotplug_07.sh
> cpuhotplug_08.sh 1_sanity_check.sh z_sanity_check.sh
>
> CPUIDLE := cpuidle_01.sh cpuidle_02.sh cpuidle_03.sh cpuidle_killer
>
> INCLUDE := functions.sh suspend.sh thermal_functions.sh
>
> SCHED_MC := sched_01.sh sched_02.sh sched_03.sh sched_04.sh
>
> SUSPEND := suspend_01.sh suspend_02.sh suspend_03.sh suspend_04.sh
> suspend_05.sh suspend_06.sh
>
> THERMAL := thermal_01.sh thermal_02.sh thermal_03.sh thermal_04.sh
> thermal_05.sh thermal_06.sh
>
> UTILS := cpuburn cpucycle heat_cpu nanosleep
>
> systemtarball: $(CPUFREQ) $(CPUHOTPLUG) $(CPUIDLE) $(INCLUDE) $(SCHED_MC)
> $(SUSPEND) $(THERMAL) $(UTILS)
>
> BRs,
> Kejun
>
>
> On 14 June 2012 11:03, Kejun Zhou <
kejun.zhou@linaro.org> wrote:
>>
>>
>>
>> If I write Android.mk and device/linaro/common/
common.mk like following,
>> the pm-qa will not be build.
>>
>> ===device/linaro/common/
common.mk===
>> powertop \
>> + pm-qa \
>> mmtest \
>>
>>
>>
>> ====pm-qa Android.mk ====
>>
>> .PHONY: pm-qa
>>
>> droid: pm-qa
>>
>> systemtarball: pm-qa
>>
>> #LOCAL_MODULE := pm-qa
>>
>> pm-qa: \
>> $(CPUFREQ) \
>> $(CPUHOTPLUG) \
>> $(CPUIDLE) \
>> $(INCLUDE) \
>> $(SCHED_MC) \
>> $(SUSPEND) \
>> $(THERMAL) \
>> $(UTILS)
>> mkdir -p ../../$(PRODUCT_OUT)/system/xbin/pm-qa/cpufreq && \
>> cp $(CPUFREQ) ../../$(PRODUCT_OUT)/system/xbin/pm-qa/cpufreq
>>
>>
>> ~
>>
>> On 12 June 2012 13:13, Zach Pfeffer <
zach.pfeffer@linaro.org> wrote:
>>>
>>> On 11 June 2012 21:40, Kejun Zhou <
kejun.zhou@linaro.org> wrote:
>>> > git://
git.linaro.org/tools/pm-qa.git
>>> >
>>> > I think this makefile issue is Android team's task. I don't like to
>>> > disturb
>>> > PMWG.
>>>
>>> First.
>>>
>>> We don't disturb each other, we work together to build a solution
>>> that's going to work on the platforms we need the solution to work on.
>>> With that in mind what we have to do is create a single pm-qa
>>> LOCAL_MODULE that's dependent on all the other modules and then
>>> include the pm-qa hook in
>>>
>>> device/linaro/common/
common.mk
>>>
>>> alternatively you can use the busybox method and do something like:
>>>
>>>
>>> .PHONY: busybox
>>>
>>> droid: busybox
>>>
>>> systemtarball: busybox
>>>
>>> busybox: ...stuff
>>>
>>>
>>> that doesn't require changes to device/linaro/common/
common.mk but is
>>> fairly Linaro specific, so the previous solution is preferred. As a
>>> follow on we don't even need a hook in device/linaro/common/
common.mk
>>> if
>>>
>>> LOCAL_MODULE_TAGS := test
>>>
>>> ...and we build "tests"
>>>
>>> in fact you could just update each one of your LOCAL_MODULE_TAGS to be
>>> tests and everything may work. To rebuild android for tests just
>>>
>>> export TARGET_BUILD_VARIANT=tests
>>>
>>> and then build. Bero and Zyga are working on getting all builds to make
>>> tests
>>>
>>> >
>>> >
>>> > On 12 June 2012 10:37, Zach Pfeffer <
zach.pfeffer@linaro.org> wrote:
>>> >>
>>> >> Kejun,
>>> >>
>>> >> Adding Hongbo and Amit.
>>> >>
>>> >> Which git are you working from?
>>> >>
>>> >> On 11 June 2012 21:07, Kejun Zhou <
kejun.zhou@linaro.org> wrote:
>>> >> >
>>> >> >
>>> >> > ---------- Forwarded message ----------
>>> >> > From: Kejun Zhou <
kejun.zhou@linaro.org>
>>> >> > Date: 11 June 2012 15:57
>>> >> > Subject: A question about Android build system.
>>> >> > To: Mathieu Poirier <
mathieu.poirier@linaro.org>, Bernhard
>>> >> > Rosenkränzer
>>> >> > <
Bernhard.Rosenkranzer@linaro.org>
>>> >> > Cc: Zach Pfeffer <
zach.pfeffer@linaro.org>
>>> >> >
>>> >> >
>>> >> > Hi,
>>> >> > I have a question about adding pm-qa into Android. Could you give me
>>> >> > some
>>> >> > help?
>>> >> > There are many scripts in pm-qa. Each script is independent test
>>> >> > case.
>>> >> >
>>> >> > My question is how to make the Android build the pm-qa automatically
>>> >> > without
>>> >> > a modification of target/product/
core.mk.
>>> >> >
>>> >> > Take the cpuidle which is one of pm-qa test modules.
>>> >> > (1) There are cpuidle_01.sh, cpuidle_02.sh, cpuidle_03.sh and
>>> >> > cpuidle_killer.c in pm-qa/cpuidle/ folder.
>>> >> >
>>> >> >
>>> >> > (2) The Android.mk lists cpuidle_01.sh, cpuidle_02.sh, cpuidle_03.sh
>>> >> > and
>>> >> > cpuidle_killer as independent modules.
>>> >> > ~~~~~cpuidle Android.mk~~~~~~~~~
>>> >> > 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)
>>> >> >
>>> >> > (3) Is it possible only add the pm-qa/cpuide folder under
>>> >> > (Android_platform)/external/pm-qa, and the Android build system will
>>> >> > build
>>> >> > the pm-qa/cpuidle automatically?
>>> >> >
>>> >> >
>>> >> > BRs,
>>> >> > Kejun
>>> >> >
>>> >> >
>>> >> >
>>> >> >
>>> >> >
>>> >> > _______________________________________________
>>> >> > linaro-android mailing list
>>> >> >
linaro-android@lists.linaro.org
>>> >> >
http://lists.linaro.org/mailman/listinfo/linaro-android
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Zach Pfeffer
>>> >> Android Platform Team Lead, Linaro Platform Teams
>>> >> Linaro.org | Open source software for ARM SoCs
>>> >> Follow Linaro:
http://www.facebook.com/pages/Linaro
>>> >>
http://twitter.com/#!/linaroorg -
http://www.linaro.org/linaro-blog
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Zach Pfeffer
>>> Android Platform Team Lead, Linaro Platform Teams
>>> Linaro.org | Open source software for ARM SoCs
>>> Follow Linaro:
http://www.facebook.com/pages/Linaro
>>>
http://twitter.com/#!/linaroorg -
http://www.linaro.org/linaro-blog
>>
>>
>
--
Zach Pfeffer
Android Platform Team Lead, Linaro Platform Teams
Linaro.org | Open source software for ARM SoCs
Follow Linaro:
http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg -
http://www.linaro.org/linaro-blog