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 CLEANFILES = automatic/cpp/dali_wrap.* automatic/csharp/*.cs *.so *.dll \
17 examples/*.so examples/*.dll examples/*.exe
19 BUILT_SOURCES = automatic/cpp/dali_wrap.cpp automatic/cpp/dali_wrap.h
24 all-local: libNDalic.so NDali.dll
26 libNDalic.so: automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o manual/cpp/callbackbase_wrap.o
27 g++ -shared automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o manual/cpp/callbackbase_wrap.o -o libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
29 automatic/cpp/dali_wrap.o: $(BUILT_SOURCES)
30 g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) automatic/cpp/dali_wrap.cpp -o automatic/cpp/dali_wrap.o
32 manual/cpp/keyboard_focus_manager_wrap.o: $(BUILT_SOURCES)
33 g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/keyboard_focus_manager_wrap.cpp -o manual/cpp/keyboard_focus_manager_wrap.o
35 manual/cpp/view-wrapper-impl-wrap.o: $(BUILT_SOURCES)
36 g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/view-wrapper-impl-wrap.cpp -o manual/cpp/view-wrapper-impl-wrap.o
38 manual/cpp/callbackbase_wrap.o: $(BUILT_SOURCES)
39 g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/callbackbase_wrap.cpp -o manual/cpp/callbackbase_wrap.o
41 NDali.dll: $(BUILT_SOURCES)
42 $(MCS) -nologo -target:library -out:NDali.dll automatic/csharp/*.cs manual/csharp/*.cs
44 check-local: examples/dali-test.exe \
45 examples/hello-world.exe \
46 examples/scroll-view.exe \
47 examples/custom-control.exe \
48 examples/spin-control.exe \
49 examples/control-dashboard.exe \
50 examples/user-alphafunction.exe \
51 examples/image-view.exe \
52 examples/libNDalic.so examples/NDali.dll
54 examples/%.exe: examples/%.cs
55 $(MCS) -nologo -target:exe -out:$@ -reference:NDali.dll $<
57 examples/libNDalic.so: libNDalic.so
58 cd examples && ln -sf ../libNDalic.so
60 examples/NDali.dll: NDali.dll
61 cd examples && ln -sf ../NDali.dll
66 # use swig to generate the CS wrapper code
67 # then call our property-wrapper to inject DALi property getters / setters
68 $(BUILT_SOURCES): SWIG/*.i
69 rm -f automatic/csharp/*.cs
70 mkdir -p automatic/csharp
71 $(SWIG) -csharp -c++ -outdir automatic/csharp \
72 $(DALI_CFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) -namespace Dali -o automatic/cpp/dali_wrap.cpp SWIG/dali.i
74 ./constructor-generator.rb
76 dist-hook: $(BUILT_SOURCES)
77 mkdir -p $(distdir)/automatic/cpp
78 cp ./automatic/cpp/*.cpp $(distdir)/automatic/cpp
79 cp ./automatic/cpp/*.h $(distdir)/automatic/cpp
80 mkdir -p $(distdir)/manual/cpp
81 cp ./manual/cpp/*.cpp $(distdir)/manual/cpp
82 cp ./manual/cpp/*.h $(distdir)/manual/cpp
83 mkdir -p $(distdir)/automatic/csharp
84 cp ./automatic/csharp/*.cs $(distdir)/automatic/csharp
85 mkdir -p $(distdir)/manual/csharp
86 cp ./manual/csharp/*.cs $(distdir)/manual/csharp
87 mkdir -p $(distdir)/examples
88 cp ./examples/*.csproj $(distdir)/examples
89 cp ./examples/*.cs $(distdir)/examples