+# vim:syntax=automake
## Howto
# For each Q_OBJECT:
-# - Add it without extension to TOMOC
-# - Add the moc.cpp to BUILT_SOURCES and nodist_SOURCES_qt4
-# - Add the cpp to SOURCES_qt4
-# - Add the hpp to EXTRA_DIST
+# - Add the .moc.cpp to BUILT_SOURCES and nodist_SOURCES_qt4
+# - Add the .cpp to SOURCES_qt4
+# - Add the .hpp to EXTRA_DIST
# For each UI
-# - Add it without extension to TOUI
# - Add it to EXTRA_DIST
+# - Add the .h to nodist_SOURCES_qt4
-TOUI = ui/input_stats
-UIH := $(TOUI:%=%.h)
+AUTOMAKE_OPTIONS = subdir-objects
+MOSTLYCLEANFILES = $(UIH)
+SUFFIXES += .ui .h .hpp .moc.cpp
-TOMOC = main_interface \
- dialogs_provider \
- input_manager \
- dialogs/playlist \
- dialogs/streaminfo \
- components/infopanels \
- util/input_slider
-MOCCPP := $(TOMOC:%=%.moc.cpp)
-
-if ENABLE_QT4
-
-BUILT_SOURCES += $(UIH)
-BUILT_SOURCES += \
+nodist_SOURCES_qt4 = \
main_interface.moc.cpp \
+ menus.moc.cpp \
dialogs_provider.moc.cpp \
input_manager.moc.cpp \
+ playlist_model.moc.cpp \
dialogs/playlist.moc.cpp \
- dialogs/streaminfo.moc.cpp \
+ dialogs/mediainfo.moc.cpp \
+ dialogs/extended.moc.cpp \
+ dialogs/messages.moc.cpp \
+ dialogs/errors.moc.cpp \
+ dialogs/preferences.moc.cpp \
+ dialogs/interaction.moc.cpp \
+ dialogs/sout.moc.cpp \
+ dialogs/help.moc.cpp \
+ dialogs/gototime.moc.cpp \
+ dialogs/open.moc.cpp \
+ components/extended_panels.moc.cpp \
components/infopanels.moc.cpp \
- util/input_slider.moc.cpp
+ components/preferences_widgets.moc.cpp \
+ components/complete_preferences.moc.cpp \
+ components/simple_preferences.moc.cpp \
+ components/open.moc.cpp \
+ components/interface_widgets.moc.cpp \
+ components/playlist/panels.moc.cpp \
+ components/playlist/selector.moc.cpp \
+ util/input_slider.moc.cpp \
+ util/customwidgets.moc.cpp \
+ resources.cpp \
+ ui/equalizer.h \
+ ui/video_effects.h \
+ ui/open_file.h \
+ ui/open_disk.h \
+ ui/open_net.h \
+ ui/open_capture.h \
+ ui/open.h \
+ ui/sprefs_audio.h \
+ ui/sprefs_input.h \
+ ui/sprefs_interface.h \
+ ui/sprefs_subtitles.h \
+ ui/sprefs_video.h \
+ ui/sprefs_hotkeys.h \
+ ui/streampanel.h \
+ ui/sout.h
-$(MOCCPP): %.moc.cpp: %.hpp
- @echo "MOC $< -> $@"
- moc -o $@ $<
+if ENABLE_QT4
+BUILT_SOURCES += $(nodist_SOURCES_qt4)
+endif
-$(UIH): %.h: %.ui
- @echo "UIC $< -> $@"
- rm -f $@
- echo "#define Q_(a,b) _(a)" > $@
- uic -tr "Q_" $< >> $@
+resources.cpp: res.qrc
+ $(RCC) -name vlc -o $@ $<
-nodist_SOURCES_qt4 = \
- main_interface.moc.cpp \
- dialogs_provider.moc.cpp \
- input_manager.moc.cpp \
- dialogs/playlist.moc.cpp \
- dialogs/streaminfo.moc.cpp \
- components/infopanels.moc.cpp \
- util/input_slider.moc.cpp
+.hpp.moc.cpp:
+ $(MOC) -o $@ $<
-endif
+.ui.h:
+ mkdir -p -- ui
+ rm -f $@ $@.tmp
+ echo "#define Q_(a,b) QString::fromUtf8(_(a))" > $@.tmp
+ $(UIC) -tr "Q_" $< >> $@.tmp
+ sed -i -e 's/Q_(\"_(\\\"\(.*\)\\\")"/Q_("\1"/' $@.tmp
+ mv -f $@.tmp $@
SOURCES_qt4 = qt4.cpp \
+ menus.cpp \
main_interface.cpp \
dialogs_provider.cpp \
input_manager.cpp \
+ playlist_model.cpp \
dialogs/playlist.cpp \
- dialogs/streaminfo.cpp \
+ dialogs/preferences.cpp \
+ dialogs/mediainfo.cpp \
+ dialogs/extended.cpp \
+ dialogs/messages.cpp \
+ dialogs/errors.cpp \
+ dialogs/interaction.cpp \
+ dialogs/sout.cpp \
+ dialogs/help.cpp \
+ dialogs/gototime.cpp \
+ dialogs/open.cpp \
+ components/extended_panels.cpp \
components/infopanels.cpp \
- util/input_slider.cpp
- $(NULL)
+ components/preferences_widgets.cpp \
+ components/complete_preferences.cpp \
+ components/simple_preferences.cpp \
+ components/open.cpp \
+ components/interface_widgets.cpp \
+ components/playlist/standardpanel.cpp \
+ components/playlist/selector.cpp \
+ util/input_slider.cpp \
+ util/customwidgets.cpp
-EXTRA_DIST += \
+noinst_HEADERS = \
qt4.hpp \
+ menus.hpp \
main_interface.hpp \
dialogs_provider.hpp \
input_manager.hpp \
+ playlist_model.hpp \
dialogs/playlist.hpp \
- dialogs/streaminfo.hpp \
+ dialogs/mediainfo.hpp \
+ dialogs/extended.hpp \
+ dialogs/messages.hpp \
+ dialogs/errors.hpp \
+ dialogs/preferences.hpp \
+ dialogs/interaction.hpp \
+ dialogs/sout.hpp \
+ dialogs/help.hpp \
+ dialogs/gototime.hpp \
+ dialogs/open.hpp \
+ components/extended_panels.hpp \
components/infopanels.hpp \
+ components/preferences_widgets.hpp \
+ components/complete_preferences.hpp \
+ components/simple_preferences.hpp \
+ components/open.hpp \
+ components/interface_widgets.hpp \
+ components/playlist/panels.hpp \
+ components/playlist/selector.hpp \
util/input_slider.hpp \
- ui/input_stats.ui
+ util/directslider.hpp \
+ util/customwidgets.hpp \
+ util/qvlcframe.hpp
+
+EXTRA_DIST += \
+ res.qrc \
+ ui/equalizer.ui \
+ ui/video_effects.ui \
+ ui/open_file.ui \
+ ui/open_disk.ui \
+ ui/open_net.ui \
+ ui/open_capture.ui \
+ ui/open.ui \
+ ui/sprefs_audio.ui \
+ ui/sprefs_input.ui \
+ ui/sprefs_interface.ui \
+ ui/sprefs_hotkeys.ui \
+ ui/sprefs_subtitles.ui \
+ ui/sprefs_video.ui \
+ ui/streampanel.ui \
+ ui/sout.ui \
+ pixmaps/advanced.xpm \
+ pixmaps/audio.xpm \
+ pixmaps/codec.xpm \
+ pixmaps/intf.xpm \
+ pixmaps/type_net.xpm \
+ pixmaps/type_playlist.xpm \
+ pixmaps/video.xpm \
+ pixmaps/type_unknown.xpm \
+ pixmaps/type_afile.xpm \
+ pixmaps/type_vfile.xpm \
+ pixmaps/type_card.xpm \
+ pixmaps/type_disc.xpm \
+ pixmaps/type_cdda.xpm \
+ pixmaps/type_directory.xpm \
+ pixmaps/type_node.xpm \
+ pixmaps/go-next.png \
+ pixmaps/next.png \
+ pixmaps/noart.png \
+ pixmaps/playlist_icon.png \
+ pixmaps/play.png \
+ pixmaps/previous.png \
+ pixmaps/spref_cone_Audio_64.png \
+ pixmaps/spref_cone_Hotkeys_64.png \
+ pixmaps/spref_cone_Input_64.png \
+ pixmaps/spref_cone_Interface_64.png \
+ pixmaps/spref_cone_Subtitles_64.png \
+ pixmaps/spref_cone_Video_64.png \
+ pixmaps/stop.png \
+ pixmaps/volume-high.png \
+ pixmaps/volume-low.png \
+ pixmaps/vlc_help_16px.png \
+ pixmaps/vlc_stop_16px.png \
+ pixmaps/vlc_play_16px.png \
+ pixmaps/vlc_pause_16px.png \
+ pixmaps/vlc_messages_16px.png \
+ pixmaps/vlc_network_16px.png \
+ pixmaps/vlc_stream_16px.png \
+ pixmaps/vlc_quit_16px.png \
+ pixmaps/vlc_disc_16px.png \
+ pixmaps/vlc_network_16px.png \
+ pixmaps/vlc_capture-card_16px.png \
+ pixmaps/vlc_preferences_16px.png \
+ pixmaps/vlc_settings_16px.png \
+ pixmaps/vlc_playlist_16px.png \
+ pixmaps/vlc_folder-grey_16px.png \
+ pixmaps/vlc_folder-blue_16px.png \
+ pixmaps/vlc_tape_16px.png \
+ pixmaps/vlc_file-asym_16px.png \
+ pixmaps/vlc_file-wide_16px.png \
+ pixmaps/vlc_info_16px.png \
+ pixmaps/vlc_previous_16px.png \
+ pixmaps/vlc_next_16px.png