]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | #!/usr/bin/make -f |
2 | # -*- makefile -*- | |
3 | # Sample debian/rules that uses debhelper. | |
4 | # | |
5 | # This file was originally written by Joey Hess and Craig Small. | |
6 | # As a special exception, when this file is copied by dh-make into a | |
7 | # dh-make output file, you may use that output file without restriction. | |
8 | # This special exception was added by Craig Small in version 0.37 of dh-make. | |
9 | # | |
10 | # Modified to make a template file for a multi-binary package with separated | |
11 | # build-arch and build-indep targets by Bill Allombert 2001 | |
12 | ||
13 | # Uncomment this to turn on verbose mode. | |
14 | #export DH_VERBOSE=1 | |
15 | ||
16 | # This has to be exported to make some magic below work. | |
17 | export DH_OPTIONS | |
18 | ||
19 | PYVERS := $(shell pyversions -r) | |
20 | ||
21 | export CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) | |
22 | export CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) | |
23 | export CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) | |
24 | export LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) | |
25 | ||
26 | configure: configure-stamp | |
27 | configure-stamp: | |
28 | dh_testdir | |
29 | ||
30 | # Add here commands to configure the package. | |
31 | if [ -f bootstrap.sh ]; then $(CURDIR)/bootstrap.sh; fi | |
32 | $(CURDIR)/configure --prefix=/usr --enable-plugin=no | |
33 | ||
34 | touch configure-stamp | |
35 | ||
36 | ||
37 | #Architecture | |
38 | build: build-arch build-indep | |
39 | # Tests disabled | |
40 | # $(MAKE) -C test check | |
41 | ||
42 | build-arch: build-arch-stamp | |
43 | $(CURDIR)/compiler/cpp/thrift build-arch-stamp: configure-stamp | |
44 | ||
45 | # Compile compiler | |
46 | $(MAKE) -C $(CURDIR)/compiler/cpp | |
47 | ||
48 | # Compile C++ library | |
49 | $(MAKE) -C $(CURDIR)/lib/cpp | |
50 | ||
51 | # Compile C (glib) library | |
52 | $(MAKE) -C $(CURDIR)/lib/c_glib | |
53 | ||
54 | # Python library | |
55 | cd $(CURDIR)/lib/py && \ | |
56 | for py in $(PYVERS); do \ | |
57 | $$py setup.py build; \ | |
58 | $$py-dbg setup.py build; \ | |
59 | done | |
60 | ||
61 | # PHP | |
62 | cd $(CURDIR)/lib/php/src/ext/thrift_protocol && \ | |
63 | phpize && \ | |
64 | ./configure && $(MAKE) | |
65 | ||
66 | touch $@ | |
67 | ||
68 | build-indep: build-indep-stamp | |
69 | build-indep-stamp: configure-stamp $(CURDIR)/compiler/cpp/thrift | |
70 | ||
71 | # Add here commands to compile the indep part of the package. | |
72 | #$(MAKE) doc | |
73 | ||
74 | # Java | |
75 | cd $(CURDIR)/lib/java && \ | |
76 | ./gradlew --no-daemon -Prelease=true jar | |
77 | ||
78 | # C# | |
79 | $(MAKE) -C $(CURDIR)/lib/csharp | |
80 | ||
81 | # Ruby | |
82 | $(MAKE) -C $(CURDIR)/lib/rb | |
83 | ||
84 | # Perl | |
85 | $(MAKE) -C $(CURDIR)/lib/perl INSTALLDIRS=vendor | |
86 | ||
87 | touch $@ | |
88 | ||
89 | clean: | |
90 | dh_testdir | |
91 | dh_testroot | |
92 | rm -f build-arch-stamp build-indep-stamp configure-stamp | |
93 | ||
94 | cd $(CURDIR)/lib/py && python setup.py clean --all | |
95 | ||
96 | # Add here commands to clean up after the build process. | |
97 | -$(MAKE) clean | |
98 | ||
99 | dh_clean | |
100 | ||
101 | install: install-indep install-arch | |
102 | install-indep: | |
103 | dh_testdir | |
104 | dh_testroot | |
105 | dh_prep -i | |
106 | dh_installdirs -i | |
107 | ||
108 | # Add here commands to install the indep part of the package into | |
109 | # debian/<package>-doc. | |
110 | #INSTALLDOC# | |
111 | ||
112 | # Java | |
113 | mkdir -p $(CURDIR)/debian/libthrift-java/usr/share/java/ && \ | |
114 | cp $(CURDIR)/lib/java/build/libs/libthrift*.jar \ | |
115 | $(CURDIR)/debian/libthrift-java/usr/share/java/ | |
116 | ||
117 | # Ruby | |
118 | mkdir -p $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1 && \ | |
119 | cp $(CURDIR)/lib/rb/lib/thrift.rb \ | |
120 | $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1 | |
121 | cp -r $(CURDIR)/lib/rb/lib/thrift \ | |
122 | $(CURDIR)/debian/ruby-thrift/usr/lib/ruby/1.9.1 | |
123 | ||
124 | # C# | |
125 | mkdir -p $(CURDIR)/debian/libthrift-cil/usr/lib/cli/thrift/ && \ | |
126 | cp $(CURDIR)/lib/csharp/Thrift.dll \ | |
127 | $(CURDIR)/debian/libthrift-cil/usr/lib/cli/thrift/Thrift.dll | |
128 | ||
129 | # Perl | |
130 | $(MAKE) -C $(CURDIR)/lib/perl install DESTDIR=$(CURDIR)/debian/libthrift-perl | |
131 | mkdir -p $(CURDIR)/debian/libthrift-perl/usr/share | |
132 | mv $(CURDIR)/debian/libthrift-perl/usr/local/lib/perl5 $(CURDIR)/debian/libthrift-perl/usr/share | |
133 | rmdir $(CURDIR)/debian/libthrift-perl/usr/local/lib | |
134 | rmdir $(CURDIR)/debian/libthrift-perl/usr/local | |
135 | ||
136 | dh_install -i | |
137 | ||
138 | install-arch: | |
139 | dh_testdir | |
140 | dh_testroot | |
141 | dh_clean -k -s | |
142 | dh_installdirs -s | |
143 | ||
144 | # Add here commands to install the arch part of the package into | |
145 | # debian/tmp. | |
146 | #$(MAKE) DESTDIR=$(CURDIR)/debian/thrift install | |
147 | ||
148 | # Compiler | |
149 | mkdir -p $(CURDIR)/debian/thrift-compiler/usr/bin && \ | |
150 | cp $(CURDIR)/compiler/cpp/thrift \ | |
151 | $(CURDIR)/debian/thrift-compiler/usr/bin/thrift && \ | |
152 | rmdir $(CURDIR)/debian/thrift-compiler/usr/sbin | |
153 | ||
154 | # Python | |
155 | cd $(CURDIR)/lib/py && \ | |
156 | python2 setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python-thrift && \ | |
157 | python2-dbg setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python-thrift-dbg && \ | |
158 | python3 setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python3-thrift && \ | |
159 | python3-dbg setup.py install --install-layout=deb --no-compile --root=$(CURDIR)/debian/python3-thrift-dbg | |
160 | ||
161 | find $(CURDIR)/debian/python-thrift -name "*.py[co]" -print0 | xargs -0 rm -f | |
162 | find $(CURDIR)/debian/python-thrift -name "__pycache__" -print0 | xargs -0 rm -fr | |
163 | find $(CURDIR)/debian/python-thrift-dbg -name "__pycache__" -print0 | xargs -0 rm -fr | |
164 | find $(CURDIR)/debian/python-thrift-dbg -name "*.py[co]" -print0 | xargs -0 rm -f | |
165 | find $(CURDIR)/debian/python-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f | |
166 | find $(CURDIR)/debian/python-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -rf | |
167 | find $(CURDIR)/debian/python-thrift-dbg -depth -type d -empty -exec rmdir {} \; | |
168 | ||
169 | find $(CURDIR)/debian/python3-thrift -name "*.py[co]" -print0 | xargs -0 rm -f | |
170 | find $(CURDIR)/debian/python3-thrift -name "__pycache__" -print0 | xargs -0 rm -fr | |
171 | find $(CURDIR)/debian/python3-thrift-dbg -name "__pycache__" -print0 | xargs -0 rm -fr | |
172 | find $(CURDIR)/debian/python3-thrift-dbg -name "*.py[co]" -print0 | xargs -0 rm -f | |
173 | find $(CURDIR)/debian/python3-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f | |
174 | find $(CURDIR)/debian/python3-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -rf | |
175 | find $(CURDIR)/debian/python3-thrift-dbg -depth -type d -empty -exec rmdir {} \; | |
176 | ||
177 | # PHP | |
178 | mkdir -p $(CURDIR)/debian/php5-thrift | |
179 | cd $(CURDIR)/lib/php && \ | |
180 | $(MAKE) DESTDIR=$(CURDIR)/debian/php5-thrift install | |
181 | ||
182 | # C++ and C (glib) | |
183 | mkdir -p $(CURDIR)/debian/tmp; \ | |
184 | cd $(CURDIR)/lib/cpp && \ | |
185 | $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install | |
186 | cd $(CURDIR)/lib/c_glib && \ | |
187 | $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install | |
188 | ||
189 | dh_install --sourcedir=debian/tmp -s | |
190 | ||
191 | ||
192 | # Must not depend on anything. This is to be called by | |
193 | # binary-arch/binary-indep | |
194 | # in another 'make' thread. | |
195 | binary-common: | |
196 | dh_testdir | |
197 | dh_testroot | |
198 | dh_installchangelogs | |
199 | dh_installdocs | |
200 | dh_installexamples | |
201 | dh_installman | |
202 | dh_link | |
203 | dh_strip -plibthrift0 --dbg-package=libthrift0-dbg | |
204 | dh_strip -ppython-thrift --dbg-package=python-thrift-dbg | |
205 | dh_strip -ppython3-thrift --dbg-package=python3-thrift-dbg | |
206 | dh_strip -pthrift-compiler | |
207 | dh_compress | |
208 | dh_fixperms | |
209 | dh_makeshlibs | |
210 | dh_installdeb | |
211 | dh_perl | |
212 | dh_shlibdeps | |
213 | dh_gencontrol | |
214 | dh_md5sums | |
215 | dh_builddeb | |
216 | # Build architecture independent packages using the common target. | |
217 | binary-indep: build-indep install-indep | |
218 | $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common | |
219 | ||
220 | # Build architecture dependent packages using the common target. | |
221 | binary-arch: build-arch install-arch | |
222 | echo "php:Depends=phpapi-$(shell php-config5 --phpapi)" > $(CURDIR)/debian/substvars | |
223 | $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common | |
224 | ||
225 | binary: binary-arch binary-indep | |
226 | .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure |