1 # Copyright (c) 2016 Samsung Electronics Co., Ltd.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 dali_swig_dir = ../../../../plugins/dali-swig
17 CLEANFILES = $(dali_swig_dir)/automatic/cpp/dali_wrap.* $(dali_swig_dir)/automatic/csharp/*.cs $(dali_swig_dir)/*.so $(dali_swig_dir)/*.dll \
18 $(dali_swig_dir)/manual/cpp/*.o \
19 $(dali_swig_dir)/examples/*.so $(dali_swig_dir)/examples/*.dll $(dali_swig_dir)/examples/*.exe
21 BUILT_SOURCES = $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp
23 all-local: libNDalic.so NDali.dll
24 gbs-local: libNDalic.so
26 libNDalic.so: $(dali_swig_dir)/automatic/cpp/dali_wrap.o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o
27 $(CXX) -shared $(dali_swig_dir)/automatic/cpp/dali_wrap.o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o -o $(dali_swig_dir)/libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
29 $(dali_swig_dir)/automatic/cpp/dali_wrap.o: $(BUILT_SOURCES)
30 $(CXX) -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp -o $(dali_swig_dir)/automatic/cpp/dali_wrap.o
32 $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o: $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.cpp
33 $(CXX) -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.cpp -o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o
35 NDali.dll: $(BUILT_SOURCES)
36 $(MCS) -nologo -target:library -out:$(dali_swig_dir)/NDali.dll $(dali_swig_dir)/automatic/csharp/*.cs $(dali_swig_dir)/manual/csharp/*.cs
39 # use swig to generate the CS wrapper code
40 # then call our property-wrapper to inject DALi property getters / setters
43 $(BUILT_SOURCES): $(dali_swig_dir)/SWIG/*.i
44 rm -f $(dali_swig_dir)/automatic/csharp/*.cs
45 rm -f $(dali_swig_dir)/automatic/cpp/dali-wrap.*
46 $(SWIG) -csharp -c++ -outdir $(dali_swig_dir)/automatic/csharp \
47 $(DALI_CFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) -namespace Dali -o $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp $(dali_swig_dir)/SWIG/dali.i
48 cd $(dali_swig_dir) && ./property-wrapper.rb
49 cd $(dali_swig_dir) && ./constructor-generator.rb
53 $(BUILT_SOURCES): $(dali_swig_dir)/SWIG/*.i
54 rm -f $(dali_swig_dir)/automatic/csharp/*.cs
55 rm -f $(dali_swig_dir)/automatic/cpp/dali-wrap.*
57 $(SWIG) -csharp -c++ -outdir $(dali_swig_dir)/automatic/csharp \
58 $(DALI_CFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) -namespace Dali -o $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp $(dali_swig_dir)/SWIG/dali.i
62 dist-hook: $(BUILT_SOURCES)
63 mkdir -p $(distdir)/automatic/cpp
64 cp $(dali_swig_dir)/automatic/cpp/*.cpp $(distdir)/automatic/cpp
65 cp $(dali_swig_dir)/automatic/cpp/*.h $(distdir)/automatic/cpp
66 mkdir -p $(distdir)/manual/cpp
67 cp $(dali_swig_dir)/manual/cpp/*.cpp $(distdir)/manual/cpp
68 cp $(dali_swig_dir)/manual/cpp/*.h $(distdir)/manual/cpp
69 mkdir -p $(distdir)/automatic/csharp
70 cp $(dali_swig_dir)/automatic/csharp/*.cs $(distdir)/automatic/csharp
71 mkdir -p $(distdir)/manual/csharp
72 cp $(dali_swig_dir)/manual/csharp/*.cs $(distdir)/manual/csharp
73 mkdir -p $(distdir)/examples
74 cp $(dali_swig_dir)/examples/*.csproj $(distdir)/examples
75 cp $(dali_swig_dir)/examples/*.cs $(distdir)/examples
77 gbs-install: gbs-local
78 -$(INSTALL) -d $(DESTDIR)
79 -$(INSTALL) $(dali_swig_dir)/libNDalic.so $(DESTDIR)