1 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
1 # Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 # All rights reserved. |
2 # All rights reserved. |
3 # This component and the accompanying materials are made available |
3 # This component and the accompanying materials are made available |
4 # under the terms of the License "Eclipse Public License v1.0" |
4 # under the terms of the License "Eclipse Public License v1.0" |
5 # which accompanies this distribution, and is available |
5 # which accompanies this distribution, and is available |
6 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 # at the URL "http://www.eclipse.org/legal/epl-v10.html". |
32 |
32 |
33 |
33 |
34 define doexports |
34 define doexports |
35 PP_EXPORTS:: |
35 PP_EXPORTS:: |
36 $(call startrule,makefile_generation_exports) \ |
36 $(call startrule,makefile_generation_exports) \ |
37 $(SBS) --toolcheck=off --export-only $(component_list) $(config_list) -f- -m $(MAKEFILE_PATH).exports $(CLI_OPTIONS) \ |
37 $(SBS) --toolcheck=off --export-only $(pp_system_definition) $(config_list) -f- -m $(MAKEFILE_PATH).exports $(CLI_OPTIONS) \ |
38 $(call endrule,makefile_generation_exports) |
38 $(call endrule,makefile_generation_exports) |
39 |
39 |
40 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH).exports |
40 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH).exports |
41 endef |
41 endef |
42 |
42 |
43 # Generate makefiles for particular bldinf |
43 # Generate makefiles for a particular system definition |
44 # $(1) = source target source target...... |
44 # $(1) = source target source target...... |
45 define generate_makefiles |
45 define generate_makefiles |
46 |
46 |
47 ALL:: $(MAKEFILE_PATH) |
47 ALL:: $(MAKEFILE_PATH) |
48 |
48 |
49 $(MAKEFILE_PATH): $(COMPONENT_PATHS) $(if $(DOEXPORT),| PP_EXPORTS ) |
49 $(MAKEFILE_PATH): $(COMPONENT_PATHS) $(if $(DOEXPORT),| PP_EXPORTS ) |
50 $(call startrule,makefile_generation) \ |
50 $(call startrule,makefile_generation) \ |
51 $(SBS) --noexport --toolcheck=off -n $(CLI_OPTIONS) $(component_list) $(config_list) -m $$@ -f- \ |
51 $(SBS) --noexport --toolcheck=off -n $(CLI_OPTIONS) $(pp_system_definition) $(config_list) -m $$@ -f- \ |
52 $(call endrule,makefile_generation) |
52 $(call endrule,makefile_generation) |
53 |
53 |
54 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH) |
54 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH) |
55 |
55 |
56 endef |
56 endef |
57 |
57 |
58 # Create config list for commands |
58 # Create config list for commands |
59 config_list:=$(addprefix -c ,$(CONFIGS)) |
59 config_list:=$(addprefix -c ,$(CONFIGS)) |
60 component_list:=$(addprefix -b ,$(COMPONENT_PATHS)) |
60 pp_system_definition:=-s $(PP_SYSTEM_DEFINITION) |
61 |
61 |
62 $(if $(FLMDEBUG),$(info <debug>build.flm: configlist: $(config_list)</debug>)) |
62 $(if $(FLMDEBUG),$(info <debug>build.flm: configlist: $(config_list)</debug>)) |
|
63 $(if $(FLMDEBUG),$(info <debug>build.flm: pp_system_definition file in use: $(pp_system_definition)</debug>)) |
63 |
64 |
64 # Do exports only if asked. This doesn't work brilliantly in emake |
65 # Do exports only if asked. This doesn't work brilliantly in emake |
65 # since exports are often duplicated in some components - leads to conflicts |
66 # since exports are often duplicated in some components - leads to conflicts |
66 # and rebuilds. Better to export before trying to do parallel parsing at all. |
67 # and rebuilds. Better to export before trying to do parallel parsing at all. |
67 $(if $(DOEXPORT),$(eval $(doexports)),$(if $(FLMDEBUG),$(info <debug>build.flm: Exports off </debug>))) |
68 $(if $(DOEXPORT),$(eval $(doexports)),$(if $(FLMDEBUG),$(info <debug>build.flm: Exports off </debug>))) |