This patch is for building gbs NDalic rpm with swig only
[platform/core/uifw/dali-toolkit.git] / build / tizen / plugins / csharp / Makefile.am
1 # Copyright (c) 2016 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 dali_swig_dir = ../../../../plugins/dali-swig
16
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
20
21 BUILT_SOURCES = $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp
22
23 all-local: libNDalic.so NDali.dll
24 gbs-local: libNDalic.so
25
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)
28
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
31
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
34
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
37
38
39 # use swig to generate the CS wrapper code
40 # then call our property-wrapper to inject DALi property getters / setters
41 if ENABLE_RUBY_FLAG
42
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
50
51 else
52
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.*
56         $(SWIG) -version
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
59 endif
60
61
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
76
77 gbs-install: gbs-local
78         -$(INSTALL) -d $(DESTDIR)
79         -$(INSTALL) $(dali_swig_dir)/libNDalic.so $(DESTDIR)
80
81 EXTRA_DIST = \
82     swig.cmd
83