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