diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 9f342077..7cdb554c 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3426,6 +3426,7 @@ Jasmin Jessich for fixing detecting the inclusion of STL header files in tools.h for help and suggestions when implementing debug output for checking the correct sequence of locking global lists + for suggesting to use $(Q) to control Makefile verbosity Martin Schirrmacher for suggesting to provide a way for skin plugins to get informed about the currently diff --git a/HISTORY b/HISTORY index 456fe28a..88b66e7a 100644 --- a/HISTORY +++ b/HISTORY @@ -9056,7 +9056,7 @@ Video Disk Recorder Revision History - Fixed detecting the inclusion of STL header files in tools.h (thanks to Jasmin Jessich). -2017-05-28: Version 2.3.6 +2017-05-29: Version 2.3.6 - Added debug output for checking the correct sequence of locking global lists (with help and suggestions from Jasmin Jessich). To activate this, define the @@ -9065,3 +9065,16 @@ Video Disk Recorder Revision History backtrace that led to the call in question. - Fixed the locking sequence when dumping EPG data. - Fixed the locking sequence when starting a recording. +- The Makefiles now use the macro $(Q) instead of a plain '@' in front of their + commands, so that verbosity can be controlled by the user (suggested by Jasmin + Jessich). Add VERBOSE=1 to the 'make' call in the VDR source directory to see the + actual commands that are executed. + Plugin authors should modify their makefiles accordingly, by simply preceeding + the respective commands with '$(Q)' and inserting '@echo XX $@' (where XX is one + of the character combinations listed in the release note for version 2.3.5) before + the command. + The newplugin script has also been modified accordingly. + Note that if you build a plugin directly in the plugin's own source directory, + the $(Q) macro won't be defined and commands will be displayed. You can add + Q=@ to the make call to have it less verbose (provided the plugin's Makefile + was modified as described above). diff --git a/Makefile b/Makefile index 5b95dd0e..a13214a6 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: Makefile 4.4 2017/05/22 15:33:30 kls Exp $ +# $Id: Makefile 4.5 2017/05/29 08:48:42 kls Exp $ .DELETE_ON_ERROR: @@ -52,6 +52,15 @@ DOXYFILE = Doxyfile -include Make.config +# Output control + +ifdef VERBOSE +Q = +else +Q = @ +endif +export Q + # Mandatory compiler flags: CFLAGS += -fPIC @@ -122,7 +131,7 @@ all: vdr i18n plugins %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< # Dependencies: @@ -137,7 +146,7 @@ $(DEPFILE): Makefile vdr: $(OBJS) $(SILIB) @echo LD $@ - @$(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(SILIB) -o vdr + $(Q)$(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(SILIB) -o vdr # The libsi library: @@ -180,20 +189,20 @@ I18Npot = $(PODIR)/vdr.pot %.mo: %.po @echo MO $@ - @msgfmt -c -o $@ $< + $(Q)msgfmt -c -o $@ $< $(I18Npot): $(wildcard *.c) @echo GT $@ - @xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='' -o $@ `ls $^` + $(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='' -o $@ `ls $^` %.po: $(I18Npot) @echo PO $@ - @msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< + $(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< @touch $@ $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo @echo IN $@ - @install -D -m644 $< $@ + $(Q)install -D -m644 $< $@ .PHONY: i18n i18n: $(I18Nmsgs) diff --git a/PLUGINS/src/epgtableid0/Makefile b/PLUGINS/src/epgtableid0/Makefile index 5afb680b..ef7cc71f 100644 --- a/PLUGINS/src/epgtableid0/Makefile +++ b/PLUGINS/src/epgtableid0/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:30:42 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:30:00 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -62,7 +62,7 @@ all: $(SOFILE) %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -77,7 +77,7 @@ $(DEPFILE): Makefile $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile index 79dcf229..5581c78c 100644 --- a/PLUGINS/src/hello/Makefile +++ b/PLUGINS/src/hello/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:32:10 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:26:45 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -63,7 +63,7 @@ all: $(SOFILE) i18n %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -84,15 +84,15 @@ I18Npot = $(PODIR)/$(PLUGIN).pot %.mo: %.po @echo MO $@ - @msgfmt -c -o $@ $< + $(Q)msgfmt -c -o $@ $< $(I18Npot): $(wildcard *.c) @echo GT $@ - @xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -o $@ `ls $^` + $(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -o $@ `ls $^` %.po: $(I18Npot) @echo PO $@ - @msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< + $(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< @touch $@ $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo @@ -107,7 +107,7 @@ install-i18n: $(I18Nmsgs) $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile index 87500169..8deef83c 100644 --- a/PLUGINS/src/osddemo/Makefile +++ b/PLUGINS/src/osddemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:30:47 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:30:08 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -62,7 +62,7 @@ all: $(SOFILE) %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -77,7 +77,7 @@ $(DEPFILE): Makefile $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile index acb1f8ec..1af0fff8 100644 --- a/PLUGINS/src/pictures/Makefile +++ b/PLUGINS/src/pictures/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:31:28 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:30:55 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -63,7 +63,7 @@ all: $(SOFILE) i18n %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -84,15 +84,15 @@ I18Npot = $(PODIR)/$(PLUGIN).pot %.mo: %.po @echo MO $@ - @msgfmt -c -o $@ $< + $(Q)msgfmt -c -o $@ $< $(I18Npot): $(wildcard *.c) @echo GT $@ - @xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -o $@ `ls $^` + $(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -o $@ `ls $^` %.po: $(I18Npot) @echo PO $@ - @msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< + $(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< @touch $@ $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo @@ -107,7 +107,7 @@ install-i18n: $(I18Nmsgs) $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile index 074df3d7..bb8fb19d 100644 --- a/PLUGINS/src/servicedemo/Makefile +++ b/PLUGINS/src/servicedemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:31:59 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:31:07 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -59,7 +59,7 @@ all: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -74,11 +74,11 @@ $(DEPFILE): Makefile libvdr-$(PLUGIN1).so: $(PLUGIN1).o @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@ libvdr-$(PLUGIN2).so: $(PLUGIN2).o @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ install-lib: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so install -D libvdr-$(PLUGIN1).so $(DESTDIR)$(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION) diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile index a1e05e53..5d591fdb 100644 --- a/PLUGINS/src/skincurses/Makefile +++ b/PLUGINS/src/skincurses/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:31:47 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:31:02 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -63,7 +63,7 @@ all: $(SOFILE) i18n %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -84,15 +84,15 @@ I18Npot = $(PODIR)/$(PLUGIN).pot %.mo: %.po @echo MO $@ - @msgfmt -c -o $@ $< + $(Q)msgfmt -c -o $@ $< $(I18Npot): $(wildcard *.c) @echo GT $@ - @xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -o $@ `ls $^` + $(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -o $@ `ls $^` %.po: $(I18Npot) @echo PO $@ - @msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< + $(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< @touch $@ $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo @@ -107,7 +107,7 @@ install-i18n: $(I18Nmsgs) $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile index bf5c80b0..a97c5090 100644 --- a/PLUGINS/src/status/Makefile +++ b/PLUGINS/src/status/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:30:58 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:30:32 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -62,7 +62,7 @@ all: $(SOFILE) %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -77,7 +77,7 @@ $(DEPFILE): Makefile $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile index 292b8c76..ed378cd0 100644 --- a/PLUGINS/src/svdrpdemo/Makefile +++ b/PLUGINS/src/svdrpdemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 4.1 2017/05/22 15:31:19 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:30:42 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -62,7 +62,7 @@ all: $(SOFILE) %.o: %.c @echo CC $@ - @$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< + $(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< ### Dependencies: @@ -77,7 +77,7 @@ $(DEPFILE): Makefile $(SOFILE): $(OBJS) @echo LD $@ - @$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ + $(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ install-lib: $(SOFILE) install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) diff --git a/libsi/Makefile b/libsi/Makefile index 2ae223b8..e0f9cb0e 100644 --- a/libsi/Makefile +++ b/libsi/Makefile @@ -1,7 +1,7 @@ # # Makefile for a libsi # -# $Id: Makefile 4.1 2017/05/22 15:33:20 kls Exp $ +# $Id: Makefile 4.2 2017/05/29 08:33:15 kls Exp $ ### The archiver options: @@ -37,7 +37,7 @@ all: libsi.a libsi.a : $(OBJS) @echo AR libsi/$@ - @$(AR) $(ARFLAGS) $@ $(OBJS) + $(Q)$(AR) $(ARFLAGS) $@ $(OBJS) clean: @-rm -f $(OBJS) $(DEPFILE) *.a *.so *.tgz core* *~ diff --git a/newplugin b/newplugin index 161ffdac..2e953938 100755 --- a/newplugin +++ b/newplugin @@ -12,7 +12,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: newplugin 4.2 2017/05/22 15:34:01 kls Exp $ +# $Id: newplugin 4.3 2017/05/29 08:55:21 kls Exp $ $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin \n"; @@ -122,7 +122,7 @@ all: \$(SOFILE) i18n %.o: %.c \@echo CC \$\@ - \@\$(CXX) \$(CXXFLAGS) -c \$(DEFINES) \$(INCLUDES) -o \$\@ \$< + \$(Q)\$(CXX) \$(CXXFLAGS) -c \$(DEFINES) \$(INCLUDES) -o \$\@ \$< ### Dependencies: @@ -143,15 +143,15 @@ I18Npot = \$(PODIR)/\$(PLUGIN).pot %.mo: %.po \@echo MO \$\@ - \@msgfmt -c -o \$\@ \$< + \$(Q)msgfmt -c -o \$\@ \$< \$(I18Npot): \$(wildcard *.c) \@echo GT \$\@ - \@xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-\$(PLUGIN) --package-version=\$(VERSION) --msgid-bugs-address='' -o \$\@ `ls \$^` + \$(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-\$(PLUGIN) --package-version=\$(VERSION) --msgid-bugs-address='' -o \$\@ `ls \$^` %.po: \$(I18Npot) \@echo PO \$\@ - \@msgmerge -U --no-wrap --no-location --backup=none -q -N \$\@ \$< + \$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N \$\@ \$< \@touch \$\@ \$(I18Nmsgs): \$(DESTDIR)\$(LOCDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo @@ -166,7 +166,7 @@ install-i18n: \$(I18Nmsgs) \$(SOFILE): \$(OBJS) \@echo LD \$\@ - \@\$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@ + \$(Q)\$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@ install-lib: \$(SOFILE) install -D \$^ \$(DESTDIR)\$(LIBDIR)/\$^.\$(APIVERSION)