Emscripten workarounds and llvm syntax fixes
[platform/core/uifw/dali-core.git] / build / slp / dali-core / Makefile.am
1 #
2 # Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 #
4 # Licensed under the Flora License, Version 1.0 (the License);
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://floralicense.org/license/
9
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an AS IS BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17
18 # Parse each file.list
19 # These files define <module>_src_files & <module>_header_files,
20 # where <module> is the subdirectory from core_src_dir
21
22 internal_src_dir = ../../../dali/internal
23 include ../../../dali/internal/file.list
24
25 public_api_src_dir = ../../../dali/public-api
26 include ../../../dali/public-api/file.list
27
28 platform_abstraction_src_dir = ../../../dali/integration-api
29 include ../../../dali/integration-api/file.list
30
31 capi_devel_src_dir = ../../../capi/dali/public-api
32 include ${capi_devel_src_dir}/file.list
33
34 # Build the Dali libtool library
35
36 src_files = $(internal_src_files) \
37             $(effects_src_files) \
38             $(platform_abstraction_src_files) \
39             $(public_api_src_files)
40
41 lib_LTLIBRARIES = libdali-core.la
42
43 libdali_core_la_SOURCES = $(dali_shaders_src_file) \
44                           $(src_files)
45
46 scripts_dir = ../../scripts
47 dali_shaders_script = $(scripts_dir)/generate-shader-strings.pl
48 dali_shaders_dir = ../../../dali/internal/render/shader-source
49
50 $(nodist_libdali_core_la_OBJECTS): $(dali_shaders_src_file)
51
52 dali_shaders_src_file = dali-shaders.cpp
53
54 dali-shaders.cpp: $(dali_shaders_script) $(dali_shaders_dir)/*.txt
55         $< --shader-dir=$(dali_shaders_dir) --file-prefix=dali-shaders
56
57 # Building dali doesn't rely on installed capi headers
58 # It will instead use headers from this repo in place
59 dali_core_includes = \
60         -I../../.. \
61         -I../../../capi
62
63 daliShaderbinDir  = ${dataReadWriteDir}/core/shaderbin/
64 daliGlyphCacheDir = ${dataReadWriteDir}/glyphcache/
65
66 libdali_core_la_CXXFLAGS = -DDALI_COMPILATION \
67                            -DDALI_DATA_RW_DIR="\"${daliReadWriteDir}\"" \
68                            -DDALI_DATA_RO_DIR="\"${daliReadOnlyDir}\"" \
69                            -DDALI_SHADERBIN_DIR="\"${daliShaderbinDir}\"" \
70                            -DDALI_GLYPH_CACHE_DIR="\"${daliGlyphCacheDir}\"" \
71                            -Werror -Wall -Wfloat-equal \
72                            $(dali_core_includes) \
73                            $(DALI_CFLAGS) \
74                            $(OPENGLES20_CFLAGS)
75
76 libdali_core_la_LIBADD = $(OPENGLES20_LIBS) -lboost_thread
77
78 # Create an empty shaderbin dir
79 install-data-local:
80         $(MKDIR_P) ${DESTDIR}/${daliShaderbinDir}
81
82 # Install headers under the correct subdirectories
83 platformabstractiondir = $(includedir)/dali/integration-api
84 platformabstractioneventsdir = $(includedir)/dali/integration-api/events
85 platformabstractiondynamicsdir = $(includedir)/dali/integration-api/dynamics
86
87 platformabstraction_HEADERS = $(platform_abstraction_header_files)
88 platformabstractionevents_HEADERS = $(platform_abstraction_events_header_files)
89 platformabstractiondynamics_HEADERS = $(platform_abstraction_dynamics_header_files)
90
91 # Should match same subdirectory list as CAPI DEVEL HEADERS below
92 publicapidir = $(devincludepath)/dali/public-api
93 publicapiactionsdir = $(publicapidir)/actions
94 publicapiactorsdir = $(publicapidir)/actors
95 publicapiactorattachmentsdir = $(publicapidir)/actor-attachments
96 publicapianimationdir = $(publicapidir)/animation
97 publicapicommondir = $(publicapidir)/common
98 publicapidynamicsdir = $(publicapidir)/dynamics
99 publicapieffectsdir = $(publicapidir)/effects
100 publicapieventsdir = $(publicapidir)/events
101 publicapigeometrydir = $(publicapidir)/geometry
102 publicapiimagesdir = $(publicapidir)/images
103 publicapimathdir = $(publicapidir)/math
104 publicapimodelingdir = $(publicapidir)/modeling
105 publicapiobjectdir = $(publicapidir)/object
106 publicapirendertasksdir = $(publicapidir)/render-tasks
107 publicapishadereffectsdir = $(publicapidir)/shader-effects
108 publicapisignalsdir = $(publicapidir)/signals
109 publicapitextdir = $(publicapidir)/text
110 publicapiscriptingdir = $(publicapidir)/scripting
111
112 publicapi_HEADERS = $(public_api_header_files)
113 publicapiactorattachments_HEADERS = $(public_api_core_actor_attachments_header_files)
114 publicapiactions_HEADERS = $(public_api_core_actions_header_files)
115 publicapiactors_HEADERS = $(public_api_core_actors_header_files)
116 publicapianimation_HEADERS = $(public_api_core_animation_header_files)
117 publicapicommon_HEADERS = $(public_api_core_common_header_files)
118 publicapidynamics_HEADERS = $(public_api_core_dynamics_header_files)
119 publicapieffects_HEADERS = $(public_api_core_effects_header_files)
120 publicapievents_HEADERS = $(public_api_core_events_header_files)
121 publicapigeometry_HEADERS = $(public_api_core_geometry_header_files)
122 publicapiimages_HEADERS = $(public_api_core_images_header_files)
123 publicapimath_HEADERS = $(public_api_core_math_header_files)
124 publicapimodeling_HEADERS = $(public_api_core_modeling_header_files)
125 publicapirendertasks_HEADERS = $(public_api_core_render_tasks_header_files)
126 publicapiobject_HEADERS = $(public_api_core_object_header_files)
127 publicapiscripting_HEADERS = $(public_api_core_scripting_header_files)
128 publicapishadereffects_HEADERS = $(public_api_core_shader_effects_header_files)
129 publicapisignals_HEADERS = $(public_api_core_signals_header_files)
130 publicapitext_HEADERS = $(public_api_core_text_header_files)
131
132 capideveldir = $(devincludepath)/dali/public-api
133 capidevelactionsdir = $(capideveldir)/actions
134 capidevelactorsdir = $(capideveldir)/actors
135 capidevelactorattachmentsdir = $(capideveldir)/actor-attachments
136 capidevelanimationdir = $(capideveldir)/animation
137 capidevelcommondir = $(capideveldir)/common
138 capideveldynamicsdir = $(capideveldir)/dynamics
139 capideveleffectsdir = $(capideveldir)/effects
140 capideveleventsdir = $(capideveldir)/events
141 capidevelgeometrydir = $(capideveldir)/geometry
142 capidevelimagesdir = $(capideveldir)/images
143 capidevelmathdir = $(capideveldir)/math
144 capidevelmodelingdir = $(capideveldir)/modeling
145 capidevelobjectdir = $(capideveldir)/object
146 capidevelrendertasksdir = $(capideveldir)/render-tasks
147 capidevelshadereffectsdir = $(capideveldir)/shader-effects
148 capidevelsignalsdir = $(capideveldir)/signals
149 capideveltextdir = $(capideveldir)/text
150 capidevelscriptingdir = $(capideveldir)/scripting
151
152 capidevel_HEADERS = $(capi_devel_header_files)
153 capidevelactorattachments_HEADERS = $(capi_devel_actor_attachments_header_files)
154 capidevelactions_HEADERS = $(capi_devel_actions_header_files)
155 capidevelactors_HEADERS = $(capi_devel_actors_header_files)
156 capidevelanimation_HEADERS = $(capi_devel_animation_header_files)
157 capidevelcommon_HEADERS = $(capi_devel_common_header_files)
158 capideveldynamics_HEADERS = $(capi_devel_dynamics_header_files)
159 capideveleffects_HEADERS = $(capi_devel_effects_header_files)
160 capidevelevents_HEADERS = $(capi_devel_events_header_files)
161 capidevelgeometry_HEADERS = $(capi_devel_geometry_header_files)
162 capidevelimages_HEADERS = $(capi_devel_images_header_files)
163 capidevelmath_HEADERS = $(capi_devel_math_header_files)
164 capidevelmodeling_HEADERS = $(capi_devel_modeling_header_files)
165 capidevelrendertasks_HEADERS = $(capi_devel_render_tasks_header_files)
166 capidevelobject_HEADERS = $(capi_devel_object_header_files)
167 capidevelscripting_HEADERS = $(capi_devel_scripting_header_files)
168 capidevelshadereffects_HEADERS = $(capi_devel_shader_effects_header_files)
169 capidevelsignals_HEADERS = $(capi_devel_signals_header_files)
170 capideveltext_HEADERS = $(capi_devel_text_header_files)
171
172 CLEANFILES = dali-shaders.cpp \
173              dali-shaders.h
174
175 # linking test
176
177 noinst_PROGRAMS = linker.test
178
179 linker_test_SOURCES = linker-test.cpp ../../../automated-tests/dali-test-suite-utils/test-application.cpp
180
181 linker_test_CXXFLAGS = \
182   -Werror -Wall -Wfloat-equal \
183   -I../../../automated-tests/dali-test-suite-utils \
184   $(dali_core_includes) \
185   $(DALI_CFLAGS) \
186   $(OPENGLES20_CFLAGS)
187
188 linker_test_DEPENDENCIES = libdali-core.la
189 linker_test_LDADD = \
190   libdali-core.la