1#!/usr/bin/make -f
2# Makefile for carla-frontend #
3# --------------------------- #
4# Created by falkTX
5#
6
7CWD=..
8include $(CWD)/Makefile.mk
9
10# ---------------------------------------------------------------------------------------------------------------------
11
12BINDIR := $(CWD)/../bin
13RESDIR := $(CWD)/../resources
14
15# ---------------------------------------------------------------------------------------------------------------------
16# Translations
17
18TSs = $(patsubst %,translations/carla_%.ts,$(I18N_LANGUAGES))
19QMs = $(patsubst %,translations/carla_%.qm,$(I18N_LANGUAGES))
20
21# ---------------------------------------------------------------------------------------------------------------------
22# Resources
23
24RES = \
25	resources_rc.py \
26	$(BINDIR)/resources/modgui \
27	$(BINDIR)/resources/patchcanvas \
28	$(BINDIR)/resources/widgets \
29	$(BINDIR)/resources/bigmeter-ui \
30	$(BINDIR)/resources/carla-plugin \
31	$(BINDIR)/resources/carla-plugin-patchbay \
32	$(BINDIR)/resources/carla_app.py \
33	$(BINDIR)/resources/carla_backend.py \
34	$(BINDIR)/resources/carla_backend_qt.py \
35	$(BINDIR)/resources/carla_database.py \
36	$(BINDIR)/resources/carla_host.py \
37	$(BINDIR)/resources/carla_host_control.py \
38	$(BINDIR)/resources/carla_modgui.py \
39	$(BINDIR)/resources/carla_settings.py \
40	$(BINDIR)/resources/carla_skin.py \
41	$(BINDIR)/resources/carla_shared.py \
42	$(BINDIR)/resources/carla_utils.py \
43	$(BINDIR)/resources/carla_widgets.py \
44	$(BINDIR)/resources/externalui.py \
45	$(BINDIR)/resources/midipattern-ui \
46	$(BINDIR)/resources/notes-ui \
47	$(BINDIR)/resources/xycontroller-ui \
48	$(BINDIR)/resources/resources_rc.py \
49	$(BINDIR)/resources/ui_carla_about.py \
50	$(BINDIR)/resources/ui_carla_about_juce.py \
51	$(BINDIR)/resources/ui_carla_add_jack.py \
52	$(BINDIR)/resources/ui_carla_database.py \
53	$(BINDIR)/resources/ui_carla_edit.py \
54	$(BINDIR)/resources/ui_carla_host.py \
55	$(BINDIR)/resources/ui_carla_osc_connect.py \
56	$(BINDIR)/resources/ui_carla_parameter.py \
57	$(BINDIR)/resources/ui_carla_plugin_calf.py \
58	$(BINDIR)/resources/ui_carla_plugin_classic.py \
59	$(BINDIR)/resources/ui_carla_plugin_compact.py \
60	$(BINDIR)/resources/ui_carla_plugin_default.py \
61	$(BINDIR)/resources/ui_carla_plugin_presets.py \
62	$(BINDIR)/resources/ui_carla_refresh.py \
63	$(BINDIR)/resources/ui_carla_settings.py \
64	$(BINDIR)/resources/ui_carla_settings_driver.py \
65	$(BINDIR)/resources/ui_inputdialog_value.py \
66	$(BINDIR)/resources/ui_midipattern.py \
67	$(BINDIR)/resources/ui_xycontroller.py
68
69ifneq ($(SKIP_ZYN_SYNTH),true)
70ifeq ($(HAVE_ZYN_UI_DEPS),true)
71RES += \
72	$(BINDIR)/resources/zynaddsubfx \
73	$(BINDIR)/resources/zynaddsubfx-ui
74endif
75endif
76
77# ---------------------------------------------------------------------------------------------------------------------
78# UI code
79
80UIs = \
81	ui_carla_about.py \
82	ui_carla_about_juce.py \
83	ui_carla_add_jack.py \
84	ui_carla_database.py \
85	ui_carla_edit.py \
86	ui_carla_host.py \
87	ui_carla_osc_connect.py \
88	ui_carla_parameter.py \
89	ui_carla_plugin_calf.py \
90	ui_carla_plugin_classic.py \
91	ui_carla_plugin_compact.py \
92	ui_carla_plugin_default.py \
93	ui_carla_plugin_presets.py \
94	ui_carla_refresh.py \
95	ui_carla_settings.py \
96	ui_carla_settings_driver.py \
97	ui_inputdialog_value.py \
98	ui_midipattern.py \
99	ui_xycontroller.py
100
101# ---------------------------------------------------------------------------------------------------------------------
102
103all: $(QMs) $(RES) $(UIs)
104
105# ---------------------------------------------------------------------------------------------------------------------
106
107ui_%.py: $(RESDIR)/ui/%.ui
108	$(PYUIC) $< -o $@
109
110resources_rc.py: $(RESDIR)/resources.qrc $(RESDIR)/*/*.png $(RESDIR)/*/*.svg $(RESDIR)/*/*.svgz
111	$(PYRCC) $< -o $@
112
113$(BINDIR)/resources/%: %
114	-@mkdir -p $(BINDIR)/resources
115	$(LINK) $(CURDIR)/$* $(BINDIR)/resources/
116
117$(BINDIR)/resources/zynaddsubfx: ../native-plugins/resources/zynaddsubfx
118	-@mkdir -p $(BINDIR)/resources
119	$(LINK) $(CURDIR)/$< $(BINDIR)/resources/
120
121$(BINDIR)/resources/zynaddsubfx-ui: ../native-plugins/resources/zynaddsubfx-ui
122	-@mkdir -p $(BINDIR)/resources
123	$(LINK) $(CURDIR)/$< $(BINDIR)/resources/
124
125# ---------------------------------------------------------------------------------------------------------------------
126
127clean:
128	rm -rf $(UIs) $(RES) $(QMs) __pycache__ *.pyc
129
130debug:
131	$(MAKE) DEBUG=true
132
133# ---------------------------------------------------------------------------------------------------------------------
134
135i18n_update: $(TSs)
136i18n_release: $(QMs)
137
138translations/%.ts:
139	@install -d translations
140	pylupdate5 *.py $(RESDIR)/ui/*.ui -ts $@
141
142%.qm: %.ts
143	lrelease $< -qm $@
144
145# ---------------------------------------------------------------------------------------------------------------------
146