c944ec8910c4e5cb4fc8aa40a27dc33bb31ac3e8
[occt.git] / samples / java / jniviewer / jni / Android.mk
1 LOCAL_PATH:= $(call my-dir)
2
3 STL_INC := $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/include $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/libs/$(TARGET_ARCH_ABI)/include
4 #STL_LIB := $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/libs/$(TARGET_ARCH_ABI)/libgnustl_static.a
5 STL_LIB := $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/libs/$(TARGET_ARCH_ABI)/libgnustl_shared.so
6
7 OCCT_ROOT := $(LOCAL_PATH)/../../../..
8
9 FREETYPE_INC  := $(OCCT_ROOT)/../freetype/include/freetype2
10 FREETYPE_LIBS := $(OCCT_ROOT)/../freetype/libs
11
12 FREEIMAGE_INC  := $(OCCT_ROOT)/../FreeImage/include
13 FREEIMAGE_LIBS := $(OCCT_ROOT)/../FreeImage/libs
14
15 OCCT_INC  := $(OCCT_ROOT)/inc
16 OCCT_LIBS := $(OCCT_ROOT)/and/libs
17
18 ASSETDIR := $(LOCAL_PATH)/../assets
19
20 $(ASSETDIR)/Shaders: $(ASSETDIR)
21         -mkdir -p $(ASSETDIR)
22         -mkdir -p $(ASSETDIR)/Shaders
23         cp -f -r $(OCCT_ROOT)/src/Shaders/*.* $(ASSETDIR)/Shaders
24
25 $(ASSETDIR)/SHMessage: $(ASSETDIR)
26         -mkdir -p $(ASSETDIR)
27         -mkdir -p $(ASSETDIR)/SHMessage
28         cp -f -r $(OCCT_ROOT)/src/SHMessage/*.* $(ASSETDIR)/SHMessage
29
30 $(ASSETDIR)/XSMessage: $(ASSETDIR)
31         -mkdir -p $(ASSETDIR)
32         -mkdir -p $(ASSETDIR)/XSMessage
33         cp -f -r $(OCCT_ROOT)/src/XSMessage/*.* $(ASSETDIR)/XSMessage
34
35 $(ASSETDIR)/TObj: $(ASSETDIR)
36         -mkdir -p $(ASSETDIR)
37         -mkdir -p $(ASSETDIR)/TObj
38         cp -f -r $(OCCT_ROOT)/src/TObj/*.msg $(ASSETDIR)/TObj
39
40 $(ASSETDIR)/UnitsAPI: $(ASSETDIR)
41         -mkdir -p $(ASSETDIR)
42         -mkdir -p $(ASSETDIR)/UnitsAPI
43         cp -f -r $(OCCT_ROOT)/src/UnitsAPI/*.dat $(ASSETDIR)/UnitsAPI
44
45 pre_all: $(ASSETDIR)/Shaders $(ASSETDIR)/SHMessage $(ASSETDIR)/XSMessage $(ASSETDIR)/TObj $(ASSETDIR)/UnitsAPI
46
47 jniall: pre_all all
48
49 # STL libs
50 include $(CLEAR_VARS)
51 LOCAL_MODULE := SharedStl
52 LOCAL_EXPORT_C_INCLUDES := $(STL_INC)
53 LOCAL_SRC_FILES := $(STL_LIB)
54 include $(PREBUILT_SHARED_LIBRARY)
55
56 # 3rd-parties used in OCCT
57 include $(CLEAR_VARS)
58 LOCAL_MODULE := FreeType
59 LOCAL_EXPORT_C_INCLUDES := $(FREETYPE_INC)
60 LOCAL_SRC_FILES := $(FREETYPE_LIBS)/$(TARGET_ARCH_ABI)/libfreetype.so
61 include $(PREBUILT_SHARED_LIBRARY)
62
63 #include $(CLEAR_VARS)
64 #LOCAL_MODULE := FreeImage
65 #LOCAL_EXPORT_C_INCLUDES := $(FREEIMAGE_INC)
66 #LOCAL_SRC_FILES := $(FREEIMAGE_LIBS)/$(TARGET_ARCH_ABI)/libfreeimage.so
67 #include $(PREBUILT_SHARED_LIBRARY)
68
69 # OCCT core
70 include $(CLEAR_VARS)
71 LOCAL_MODULE := OcctTKernel
72 LOCAL_EXPORT_C_INCLUDES := $(OCCT_INC)
73 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKernel.so
74 include $(PREBUILT_SHARED_LIBRARY)
75
76 include $(CLEAR_VARS)
77 LOCAL_MODULE := OcctTKMath
78 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKMath.so
79 include $(PREBUILT_SHARED_LIBRARY)
80
81 include $(CLEAR_VARS)
82 LOCAL_MODULE := OcctTKG2d
83 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKG2d.so
84 include $(PREBUILT_SHARED_LIBRARY)
85
86 include $(CLEAR_VARS)
87 LOCAL_MODULE := OcctTKG3d
88 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKG3d.so
89 include $(PREBUILT_SHARED_LIBRARY)
90
91 include $(CLEAR_VARS)
92 LOCAL_MODULE := OcctTKGeomBase
93 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKGeomBase.so
94 include $(PREBUILT_SHARED_LIBRARY)
95
96 include $(CLEAR_VARS)
97 LOCAL_MODULE := OcctTKBRep
98 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKBRep.so
99 include $(PREBUILT_SHARED_LIBRARY)
100
101 include $(CLEAR_VARS)
102 LOCAL_MODULE := OcctTKGeomAlgo
103 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKGeomAlgo.so
104 include $(PREBUILT_SHARED_LIBRARY)
105
106 include $(CLEAR_VARS)
107 LOCAL_MODULE := OcctTKTopAlgo
108 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKTopAlgo.so
109 include $(PREBUILT_SHARED_LIBRARY)
110
111 include $(CLEAR_VARS)
112 LOCAL_MODULE := OcctTKShHealing
113 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKShHealing.so
114 include $(PREBUILT_SHARED_LIBRARY)
115
116 include $(CLEAR_VARS)
117 LOCAL_MODULE := OcctTKMesh
118 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKMesh.so
119 include $(PREBUILT_SHARED_LIBRARY)
120
121 # OCCT Exchange
122 include $(CLEAR_VARS)
123 LOCAL_MODULE := OcctTKPrim
124 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKPrim.so
125 include $(PREBUILT_SHARED_LIBRARY)
126
127 include $(CLEAR_VARS)
128 LOCAL_MODULE := OcctTKBO
129 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKBO.so
130 include $(PREBUILT_SHARED_LIBRARY)
131
132 include $(CLEAR_VARS)
133 LOCAL_MODULE := OcctTKBool
134 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKBool.so
135 include $(PREBUILT_SHARED_LIBRARY)
136
137 include $(CLEAR_VARS)
138 LOCAL_MODULE := OcctTKFillet
139 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKFillet.so
140 include $(PREBUILT_SHARED_LIBRARY)
141
142 include $(CLEAR_VARS)
143 LOCAL_MODULE := OcctTKOffset
144 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKOffset.so
145 include $(PREBUILT_SHARED_LIBRARY)
146
147 include $(CLEAR_VARS)
148 LOCAL_MODULE := OcctTKXSBase
149 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKXSBase.so
150 include $(PREBUILT_SHARED_LIBRARY)
151
152 include $(CLEAR_VARS)
153 LOCAL_MODULE := OcctTKIGES
154 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKIGES.so
155 include $(PREBUILT_SHARED_LIBRARY)
156
157 include $(CLEAR_VARS)
158 LOCAL_MODULE := OcctTKSTEPBase
159 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKSTEPBase.so
160 include $(PREBUILT_SHARED_LIBRARY)
161
162 include $(CLEAR_VARS)
163 LOCAL_MODULE := OcctTKSTEPAttr
164 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKSTEPAttr.so
165 include $(PREBUILT_SHARED_LIBRARY)
166
167 include $(CLEAR_VARS)
168 LOCAL_MODULE := OcctTKSTEP209
169 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKSTEP209.so
170 include $(PREBUILT_SHARED_LIBRARY)
171
172 include $(CLEAR_VARS)
173 LOCAL_MODULE := OcctTKSTEP
174 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKSTEP.so
175 include $(PREBUILT_SHARED_LIBRARY)
176
177 # OCCT visualization
178 include $(CLEAR_VARS)
179 LOCAL_MODULE := OcctTKService
180 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKService.so
181 include $(PREBUILT_SHARED_LIBRARY)
182
183 include $(CLEAR_VARS)
184 LOCAL_MODULE := OcctTKHLR
185 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKHLR.so
186 include $(PREBUILT_SHARED_LIBRARY)
187
188 include $(CLEAR_VARS)
189 LOCAL_MODULE := OcctTKV3d
190 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKV3d.so
191 include $(PREBUILT_SHARED_LIBRARY)
192
193 include $(CLEAR_VARS)
194 LOCAL_MODULE := OcctTKOpenGl
195 LOCAL_SRC_FILES := $(OCCT_LIBS)/$(TARGET_ARCH_ABI)/libTKOpenGl.so
196 include $(PREBUILT_SHARED_LIBRARY)
197
198 # our sample
199 include $(CLEAR_VARS)
200 LOCAL_MODULE           := libTKJniSample
201 LOCAL_C_INCLUDES       := $(STL_INC)
202 #LOCAL_STATIC_LIBRARIES := $(STL_LIB) does not work
203 LOCAL_CFLAGS           := -Wall -std=c++11
204 LOCAL_CPP_EXTENSION    := .cxx .cpp
205 LOCAL_CPP_FEATURES     := rtti exceptions
206 LOCAL_SRC_FILES        := OcctJni_Viewer.cxx OcctJni_Window.cxx OcctJni_MsgPrinter.cxx
207 LOCAL_SHARED_LIBRARIES := OcctTKernel OcctTKMath OcctTKG2d OcctTKG3d OcctTKGeomBase OcctTKBRep OcctTKGeomAlgo OcctTKTopAlgo OcctTKShHealing OcctTKMesh OcctTKPrim
208 LOCAL_SHARED_LIBRARIES += OcctTKIGES OcctTKSTEP OcctTKXSBase
209 LOCAL_SHARED_LIBRARIES += OcctTKService OcctTKHLR OcctTKV3d OcctTKOpenGl
210 LOCAL_SHARED_LIBRARIES += SharedStl
211 LOCAL_LDLIBS           := -llog -lGLESv2 -lEGL
212
213 #LOCAL_LDLIBS += $(STL_LIB)
214
215 include $(BUILD_SHARED_LIBRARY)