]> git.sesse.net Git - vlc/blob - modules/gui/qt4/Modules.am
d811dd05bc5d08afe0c3143a6d83846fa7d6f69b
[vlc] / modules / gui / qt4 / Modules.am
1 ## Howto
2 # For each Q_OBJECT:
3 #   - Add it without extension to TOMOC
4 #   - Add the moc.cpp to BUILT_SOURCES and nodist_SOURCES_qt4
5 #   - Add the cpp to SOURCES_qt4
6 #   - Add the hpp to EXTRA_DIST
7 # For each UI
8 #   - Add it without extension to TOUI
9 #   - Add it to EXTRA_DIST
10
11 AUTOMAKE_OPTIONS = subdir-objects
12
13 TOUI = ui/input_stats
14 UIH := $(TOUI:%=%.h)
15
16 TOMOC = main_interface \
17         dialogs_provider \
18         input_manager \
19         dialogs/playlist \
20         dialogs/streaminfo \
21         components/infopanels \
22         util/input_slider
23 MOCCPP := $(TOMOC:%=%.moc.cpp)
24
25 nodist_SOURCES_qt4 = \
26                 main_interface.moc.cpp \
27                 dialogs_provider.moc.cpp \
28                 input_manager.moc.cpp \
29                 dialogs/playlist.moc.cpp \
30                 dialogs/streaminfo.moc.cpp \
31                 components/infopanels.moc.cpp \
32                 util/input_slider.moc.cpp
33
34 if ENABLE_QT4
35 BUILT_SOURCES += $(UIH) $(nodist_SOURCES_qt4)
36 endif
37
38
39 $(MOCCPP): %.moc.cpp: %.hpp
40         @echo "$(MOC) $< -> $@"
41         $(MOC) -o $@ $<
42
43 $(UIH): %.h: %.ui
44         $(install_sh) -d ui
45         @echo "$(UIC) $< -> $@"
46         rm -f $@
47         echo "#define Q_(a,b) _(a)" > $@
48         $(UIC) -tr "Q_" $< >> $@
49
50
51 SOURCES_qt4 =   qt4.cpp \
52                 main_interface.cpp \
53                 dialogs_provider.cpp \
54                 input_manager.cpp \
55                 dialogs/playlist.cpp \
56                 dialogs/streaminfo.cpp \
57                 components/infopanels.cpp \
58                 util/input_slider.cpp
59                 $(NULL)
60
61 EXTRA_DIST += \
62         qt4.hpp \
63         main_interface.hpp \
64         dialogs_provider.hpp \
65         input_manager.hpp \
66         dialogs/playlist.hpp \
67         dialogs/streaminfo.hpp \
68         components/infopanels.hpp \
69         util/input_slider.hpp \
70         ui/input_stats.ui
71