Fix build with gcc 4.7
[cadence.git] / Makefile
bloba4468f2b5f030d4f953291b7bbedfbb78641da56
1 #!/usr/bin/make -f
2 # Makefile for Cadence #
3 # ---------------------- #
4 # Created by falkTX
7 PREFIX = /usr/local
8 DESTDIR =
10 SED_PREFIX = $(shell echo $(PREFIX) | sed "s/\//\\\\\\\\\//g")
12 PYUIC = pyuic4
13 PYRCC = pyrcc4
15 # Detect architecture
16 ifndef _arch_n
17 ARCH = $(shell uname -m)
18 ifeq ("$(ARCH)", "x86_64")
19 _arch_n = 64
20 else
21 _arch_n = 32
22 endif
23 endif
25 # Detect X11 rules dir
26 ifeq "$(wildcard /etc/X11/xinit/xinitrc.d/ )" ""
27 X11_RC_DIR = $(DESTDIR)/etc/X11/Xsession.d/
28 else
29 X11_RC_DIR = $(DESTDIR)/etc/X11/xinit/xinitrc.d/
30 endif
33 all: build
35 native32:
36 $(MAKE) native32 -C src/carla-bridges
37 $(MAKE) native32 -C src/carla-discovery
39 native64:
40 $(MAKE) native64 -C src/carla-bridges
41 $(MAKE) native64 -C src/carla-discovery
43 wine32:
44 $(MAKE) wine32 -C src/carla-bridges
45 $(MAKE) wine32 -C src/carla-discovery
47 wine64:
48 $(MAKE) wine64 -C src/carla-bridges
49 $(MAKE) wine64 -C src/carla-discovery
51 build: UI RES LANG
53 UI: cadence catarina catia claudia carla tools
55 cadence: src/ui_cadence.py \
56 src/ui_cadence_rwait.py src/ui_cadence_tb_jack.py src/ui_cadence_tb_a2j.py src/ui_cadence_tb_pa.py
58 catarina: src/ui_catarina.py \
59 src/ui_catarina_addgroup.py src/ui_catarina_removegroup.py src/ui_catarina_renamegroup.py \
60 src/ui_catarina_addport.py src/ui_catarina_removeport.py src/ui_catarina_renameport.py \
61 src/ui_catarina_connectports.py src/ui_catarina_disconnectports.py
63 catia: src/ui_catia.py
65 claudia: src/ui_claudia.py \
66 src/ui_claudia_createroom.py src/ui_claudia_addnew.py src/ui_claudia_addnew_klaudia.py \
67 src/ui_claudia_runcustom.py src/ui_claudia_saveproject.py src/ui_claudia_projectproperties.py \
68 src/ui_claudia_studiolist.py src/ui_claudia_studioname.py
70 carla: carla_gui carla_backend carla_bridges carla_discovery
72 carla_bridges:
73 $(MAKE) native$(_arch_n) -C src/carla-bridges
75 carla_discovery:
76 $(MAKE) native$(_arch_n) -C src/carla-discovery
78 carla_gui: src/ui_carla.py src/ui_carla_control.py \
79 src/ui_carla_about.py src/ui_carla_database.py src/ui_carla_edit.py src/ui_carla_parameter.py src/ui_carla_plugin.py src/ui_carla_refresh.py \
80 src/ui_inputdialog_value.py
82 carla_backend:
83 $(MAKE) -C src/carla
85 plugins: \
86 src/ui_plugin_audio_gain.py
88 tools: \
89 src/ui_plugin_audio_gain.py \
90 src/ui_logs.py src/ui_render.py src/ui_xycontroller.py \
91 src/ui_settings_app.py src/ui_settings_jack.py
93 src/ui_cadence.py: src/ui/cadence.ui
94 $(PYUIC) -o src/ui_cadence.py $<
96 src/ui_cadence_rwait.py: src/ui/cadence_rwait.ui
97 $(PYUIC) -o src/ui_cadence_rwait.py $<
99 src/ui_cadence_tb_jack.py: src/ui/cadence_tb_jack.ui
100 $(PYUIC) -o src/ui_cadence_tb_jack.py $<
102 src/ui_cadence_tb_a2j.py: src/ui/cadence_tb_a2j.ui
103 $(PYUIC) -o src/ui_cadence_tb_a2j.py $<
105 src/ui_cadence_tb_pa.py: src/ui/cadence_tb_pa.ui
106 $(PYUIC) -o src/ui_cadence_tb_pa.py $<
108 src/ui_catarina.py: src/ui/catarina.ui
109 $(PYUIC) -o src/ui_catarina.py $<
111 src/ui_catarina_addgroup.py: src/ui/catarina_addgroup.ui
112 $(PYUIC) -o src/ui_catarina_addgroup.py $<
114 src/ui_catarina_removegroup.py: src/ui/catarina_removegroup.ui
115 $(PYUIC) -o src/ui_catarina_removegroup.py $<
117 src/ui_catarina_renamegroup.py: src/ui/catarina_renamegroup.ui
118 $(PYUIC) -o src/ui_catarina_renamegroup.py $<
120 src/ui_catarina_addport.py: src/ui/catarina_addport.ui
121 $(PYUIC) -o src/ui_catarina_addport.py $<
123 src/ui_catarina_removeport.py: src/ui/catarina_removeport.ui
124 $(PYUIC) -o src/ui_catarina_removeport.py $<
126 src/ui_catarina_renameport.py: src/ui/catarina_renameport.ui
127 $(PYUIC) -o src/ui_catarina_renameport.py $<
129 src/ui_catarina_connectports.py: src/ui/catarina_connectports.ui
130 $(PYUIC) -o src/ui_catarina_connectports.py $<
132 src/ui_catarina_disconnectports.py: src/ui/catarina_disconnectports.ui
133 $(PYUIC) -o src/ui_catarina_disconnectports.py $<
135 src/ui_catia.py: src/ui/catia.ui
136 $(PYUIC) -o src/ui_catia.py $<
138 src/ui_claudia.py: src/ui/claudia.ui
139 $(PYUIC) -o src/ui_claudia.py $<
141 src/ui_claudia_createroom.py: src/ui/claudia_createroom.ui
142 $(PYUIC) -o src/ui_claudia_createroom.py $<
144 src/ui_claudia_addnew.py: src/ui/claudia_addnew.ui
145 $(PYUIC) -o src/ui_claudia_addnew.py $<
147 src/ui_claudia_addnew_klaudia.py: src/ui/claudia_addnew_klaudia.ui
148 $(PYUIC) -o src/ui_claudia_addnew_klaudia.py $<
150 src/ui_claudia_runcustom.py: src/ui/claudia_runcustom.ui
151 $(PYUIC) -o src/ui_claudia_runcustom.py $<
153 src/ui_claudia_saveproject.py: src/ui/claudia_saveproject.ui
154 $(PYUIC) -o src/ui_claudia_saveproject.py $<
156 src/ui_claudia_projectproperties.py: src/ui/claudia_projectproperties.ui
157 $(PYUIC) -o src/ui_claudia_projectproperties.py $<
159 src/ui_claudia_studiolist.py: src/ui/claudia_studiolist.ui
160 $(PYUIC) -o src/ui_claudia_studiolist.py $<
162 src/ui_claudia_studioname.py: src/ui/claudia_studioname.ui
163 $(PYUIC) -o src/ui_claudia_studioname.py $<
165 src/ui_carla.py: src/ui/carla.ui
166 $(PYUIC) -o src/ui_carla.py $<
168 src/ui_carla_control.py: src/ui/carla_control.ui
169 $(PYUIC) -o src/ui_carla_control.py $<
171 src/ui_carla_about.py: src/ui/carla_about.ui
172 $(PYUIC) -o src/ui_carla_about.py $<
174 src/ui_carla_database.py: src/ui/carla_database.ui
175 $(PYUIC) -o src/ui_carla_database.py $<
177 src/ui_carla_edit.py: src/ui/carla_edit.ui
178 $(PYUIC) -o src/ui_carla_edit.py $<
180 src/ui_carla_parameter.py: src/ui/carla_parameter.ui
181 $(PYUIC) -o src/ui_carla_parameter.py $<
183 src/ui_carla_plugin.py: src/ui/carla_plugin.ui
184 $(PYUIC) -o src/ui_carla_plugin.py $<
186 src/ui_carla_refresh.py: src/ui/carla_refresh.ui
187 $(PYUIC) -o src/ui_carla_refresh.py $<
189 src/ui_plugin_audio_gain.py: src/ui/plugin_audio_gain.ui
190 $(PYUIC) -o src/ui_plugin_audio_gain.py $<
192 src/ui_logs.py: src/ui/logs.ui
193 $(PYUIC) -o src/ui_logs.py $<
195 src/ui_render.py: src/ui/render.ui
196 $(PYUIC) -o src/ui_render.py $<
198 src/ui_xycontroller.py: src/ui/xycontroller.ui
199 $(PYUIC) -o src/ui_xycontroller.py $<
201 src/ui_settings_app.py: src/ui/settings_app.ui
202 $(PYUIC) -o src/ui_settings_app.py $<
204 src/ui_settings_jack.py: src/ui/settings_jack.ui
205 $(PYUIC) -o src/ui_settings_jack.py $<
207 src/ui_inputdialog_value.py: src/ui/inputdialog_value.ui
208 $(PYUIC) -o src/ui_inputdialog_value.py $<
210 RES: src/icons_rc.py
212 src/icons_rc.py: src/icons/icons.qrc
213 $(PYRCC) -o src/icons_rc.py $<
215 LANG:
216 # pylupdate4 -verbose src/lang/lang.pro
217 # lrelease src/lang/lang.pro
219 clean:
220 rm -f *~ src/*~ src/*.pyc src/*.so src/ui_*.py src/icons_rc.py \
221 src/carla/*.o src/carla/*.so src/carla/*.so.* src/carla/*.dll
223 $(MAKE) -C src/carla clean
224 $(MAKE) -C src/carla-bridges clean
225 $(MAKE) -C src/carla-discovery clean
227 distclean: clean
229 install:
230 # Create directories
231 install -d $(DESTDIR)$(PREFIX)/bin/
232 install -d $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/
233 install -d $(DESTDIR)$(PREFIX)/share/applications/
234 install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
235 install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
236 install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
237 install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
238 install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
239 install -d $(DESTDIR)$(PREFIX)/share/cadence/
240 install -d $(DESTDIR)$(PREFIX)/share/cadence/src/
241 install -d $(DESTDIR)$(PREFIX)/share/cadence/src/carla/
242 install -d $(DESTDIR)$(PREFIX)/share/cadence/icons/
243 install -d $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
244 install -d $(DESTDIR)$(PREFIX)/share/cadence/templates/
245 install -d $(X11_RC_DIR)
247 # Install script files and binaries
248 install -m 755 \
249 data/cadence \
250 data/catarina \
251 data/catia \
252 data/claudia \
253 data/carla \
254 data/carla-control \
255 data/jack_* \
256 data/pulse2jack \
257 src/cadence-session-start \
258 src/carla-bridges/carla-bridge-lv2-gtk2 \
259 src/carla-bridges/carla-bridge-lv2-qt4 \
260 src/carla-bridges/carla-bridge-lv2-x11 \
261 src/carla-bridges/carla-bridge-vst-qt4 \
262 src/carla-discovery/carla-discovery-* \
263 $(DESTDIR)$(PREFIX)/bin/
265 # Install desktop files
266 install -m 644 data/desktop/*.desktop $(DESTDIR)$(PREFIX)/share/applications/
268 # Install icons, 16x16
269 install -m 644 src/icons/16x16/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
270 install -m 644 src/icons/16x16/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
271 install -m 644 src/icons/16x16/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
272 install -m 644 src/icons/16x16/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
273 install -m 644 src/icons/16x16/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
274 install -m 644 src/icons/16x16/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
276 # Install icons, 48x48
277 install -m 644 src/icons/48x48/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
278 install -m 644 src/icons/48x48/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
279 install -m 644 src/icons/48x48/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
280 install -m 644 src/icons/48x48/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
281 install -m 644 src/icons/48x48/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
282 install -m 644 src/icons/48x48/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
284 # Install icons, 128x128
285 install -m 644 src/icons/128x128/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
286 install -m 644 src/icons/128x128/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
287 install -m 644 src/icons/128x128/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
288 install -m 644 src/icons/128x128/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
289 install -m 644 src/icons/128x128/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
290 install -m 644 src/icons/128x128/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
292 # Install icons, 256x256
293 install -m 644 src/icons/256x256/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
294 install -m 644 src/icons/256x256/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
295 install -m 644 src/icons/256x256/carla-control.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
296 install -m 644 src/icons/256x256/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
297 install -m 644 src/icons/256x256/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
298 install -m 644 src/icons/256x256/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
300 # Install icons, scalable
301 install -m 644 src/icons/svg/cadence.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
302 install -m 644 src/icons/svg/carla.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
303 install -m 644 src/icons/svg/carla-control.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
304 install -m 644 src/icons/svg/catarina.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
305 install -m 644 src/icons/svg/catia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
306 install -m 644 src/icons/svg/claudia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
308 # Install main code
309 install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/
310 install -m 755 src/carla/*.so $(DESTDIR)$(PREFIX)/share/cadence/src/carla/
312 # Install addtional stuff for Cadence
313 install -m 644 pulse2jack/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
314 install -m 644 data/99cadence-session-start $(X11_RC_DIR)
316 # Install additional stuff for Claudia
317 cp -r icons/* $(DESTDIR)$(PREFIX)/share/cadence/icons/
318 cp -r templates/* $(DESTDIR)$(PREFIX)/share/cadence/templates/
320 # Install addtional stuff for Carla
321 install -m 644 data/carla.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/
323 # Adjust PREFIX value in script files
324 sed -i "s/X-PREFIX-X/$(SED_PREFIX)/" \
325 $(DESTDIR)$(PREFIX)/bin/cadence \
326 $(DESTDIR)$(PREFIX)/bin/catarina \
327 $(DESTDIR)$(PREFIX)/bin/catia \
328 $(DESTDIR)$(PREFIX)/bin/claudia \
329 $(DESTDIR)$(PREFIX)/bin/carla \
330 $(DESTDIR)$(PREFIX)/bin/carla-control \
331 $(DESTDIR)$(PREFIX)/bin/jack_logs \
332 $(DESTDIR)$(PREFIX)/bin/jack_meter2 \
333 $(DESTDIR)$(PREFIX)/bin/jack_render \
334 $(DESTDIR)$(PREFIX)/bin/jack_settings \
335 $(DESTDIR)$(PREFIX)/bin/jack_xycontroller \
336 $(DESTDIR)$(PREFIX)/bin/pulse2jack \
337 $(X11_RC_DIR)/99cadence-session-start
339 # For Ubuntu there are PPAs
340 rm -f $(DESTDIR)$(PREFIX)/share/applications/cadence-unity-support.desktop
342 ifeq "$(wildcard /usr/bin/python2 )" ""
343 else
344 # Python2 force
345 sed -i "s/env python/env python2/" $(DESTDIR)$(PREFIX)/bin/cadence-session-start
346 endif
348 uninstall:
349 rm -f $(DESTDIR)$(PREFIX)/bin/cadence
350 rm -f $(DESTDIR)$(PREFIX)/bin/cadence-session-start
351 rm -f $(DESTDIR)$(PREFIX)/bin/cadence-unity-support
352 rm -f $(DESTDIR)$(PREFIX)/bin/catarina
353 rm -f $(DESTDIR)$(PREFIX)/bin/catia
354 rm -f $(DESTDIR)$(PREFIX)/bin/claudia
355 rm -f $(DESTDIR)$(PREFIX)/bin/carla
356 rm -f $(DESTDIR)$(PREFIX)/bin/carla-control
357 rm -f $(DESTDIR)$(PREFIX)/bin/carla-bridge-*
358 rm -f $(DESTDIR)$(PREFIX)/bin/carla-discovery-*
359 rm -f $(DESTDIR)$(PREFIX)/bin/jack_logs
360 rm -f $(DESTDIR)$(PREFIX)/bin/jack_meter2
361 rm -f $(DESTDIR)$(PREFIX)/bin/jack_render
362 rm -f $(DESTDIR)$(PREFIX)/bin/jack_settings
363 rm -f $(DESTDIR)$(PREFIX)/bin/jack_xycontroller
364 rm -f $(DESTDIR)$(PREFIX)/bin/pulse2jack
365 rm -f $(DESTDIR)$(PREFIX)/share/applications/cadence.desktop
366 rm -f $(DESTDIR)$(PREFIX)/share/applications/cadence-unity-support.desktop
367 rm -f $(DESTDIR)$(PREFIX)/share/applications/catarina.desktop
368 rm -f $(DESTDIR)$(PREFIX)/share/applications/catia.desktop
369 rm -f $(DESTDIR)$(PREFIX)/share/applications/claudia.desktop
370 rm -f $(DESTDIR)$(PREFIX)/share/applications/carla.desktop
371 rm -f $(DESTDIR)$(PREFIX)/share/applications/carla-control.desktop
372 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/cadence.png
373 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/carla.png
374 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/carla-control.png
375 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/catarina.png
376 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/catia.png
377 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/claudia.png
378 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/cadence.png
379 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/carla.png
380 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/carla-control.png
381 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/catarina.png
382 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/catia.png
383 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/claudia.png
384 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/cadence.png
385 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/carla.png
386 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/carla-control.png
387 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/catarina.png
388 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/catia.png
389 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/claudia.png
390 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/cadence.png
391 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/carla.png
392 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/carla-control.png
393 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/catarina.png
394 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/catia.png
395 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/claudia.png
396 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/cadence.svg
397 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg
398 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg
399 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/catarina.svg
400 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/catia.svg
401 rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia.svg
402 rm -f $(X11_RC_DIR)/99cadence-session-start
403 rm -rf $(DESTDIR)$(PREFIX)/share/cadence/