Code engineering inside there are three files are related to each profile of the macro, respectively: Featureoption.java, Common/projectconfig.mk, Product/projectconfig.mk.
What is the relationship between them? How do I see which profiles are open for the current project?
[Solution]
Common/projectconfig.mk and product/projectconfig.mk are used to control the opening and closing of the profile macro, and at compile time, the system will first view the product/ PROJECTCONFIG.MK macro State, set to the macro state defined at the place, or find common/projectconfig.mk if the file does not have the macro. The results of the compilation will be written in Featureoption.java.
For example, mt6589 product under MTK_BT_PROFILE_PRXM:
If under the alps\mediatek\config\mt6589, Mtk_bt_profile_prxm=yes, under Common/projectconfig.mk, Mtk_bt_profile_prxm=no, then Mtk_ BT_PROFILE_PRXM is open, Featureoption.java will have: Mtk_bt_profile_prxm=yes.
If under the alps\mediatek\config\mt6589, there is no mtk_bt_profile_prxm, under Common/projectconfig.mk, Mtk_bt_profile_prxm=no, then Mtk_bt_ PROFILE_PRXM is closed, Featureoption.java will have: Mtk_bt_profile_prxm=no.
The paths for three files are:
Alps\mediatek\config\common\projectconfig.mk
Alps\mediatek\config\mt6589\projectconfig.mk
Alps\mediatek\source\frameworks\featureoption\java\com\mediatek\featureoption\featureoption.java
JB under: Alps\mediatek\frameworks\common\src\com\mediatek\common\featureoption\featureoption.java
Kk:alps\out\target\product\[project]\obj\java_libraries\mediatek-common_intermediates\featureoption.java
How Android can see which profiles are open for the current project