Hi! On Sun, 31 May 2015 16:01:54 +0000, Justus Winter <4win...@informatik.uni-hamburg.de> wrote: > commit 255c47e669819f153c722c98a230f6fe4e6ece08 > Author: Justus Winter <4win...@informatik.uni-hamburg.de> > Date: Sun May 25 16:26:42 2014 +0200 > > Include the notify protocol in `gnumach.msgids' > > * Makefrag.am (gnumach.msgids): Add `notify.msgids' as prerequisite. > * Makerules.mig.am: Add rule to generate the list of message ids when > neither the client nor the server stubs are required. > * ipc/notify.defs: New file.
A minor fix-up; pushed: commit a42c4ee0845b79fb70c2206982347c1b0c093f87 Author: Thomas Schwinge <tho...@codesourcery.com> Date: Sat Oct 31 12:44:06 2015 +0100 Rework *.msgids handling when neither client nor server stubs are required Originally added in commit 255c47e669819f153c722c98a230f6fe4e6ece08, but "make distcheck" didn't like that: [...] ERROR: files left in build directory after distclean: ./ipc/notify.msgids Makefile:7489: recipe for target 'distcleancheck' failed make[1]: *** [distcleancheck] Error 1 make[1]: Leaving directory '[...]/gnumach/release.build/gnumach-1.5/_build/sub' Makefile:7416: recipe for target 'distcheck' failed make: *** [distcheck] Error 1 Instead of special-casing that, generalize the Makefile rules. * Makefrag.am (nodist_lib_dep_tr_for_defs_a_SOURCES): Add ipc/notify.none.defs.c. (nodist_libkernel_a_SOURCES): Add ipc/notify.none.msgids. (gnumach.msgids): Remove ipc/notify.msgids prerequisite. * Makerules.mig.am (%.msgids): Remove rule, and instead... (%.none.defs.c, %.none.msgids): ... add these rules. --- Makefrag.am | 11 +++++++++-- Makerules.mig.am | 21 ++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git Makefrag.am Makefrag.am index b9d96c5..823ece5 100644 --- Makefrag.am +++ Makefrag.am @@ -545,11 +545,18 @@ nodist_libkernel_a_SOURCES += \ # kern/mach_debug.server.defs # kern/mach_host.server.defs +# Stand-alone rule to generate the list of message ids when neither +# the client nor the server stubs are required. +nodist_lib_dep_tr_for_defs_a_SOURCES += \ + ipc/notify.none.defs.c +nodist_libkernel_a_SOURCES += \ + ipc/notify.none.msgids +# ipc/notify.none.defs + # rpctrace can make use of that. MOSTLYCLEANFILES += \ gnumach.msgids -gnumach.msgids: $(filter %.msgids,$(nodist_libkernel_a_SOURCES)) \ - ipc/notify.msgids +gnumach.msgids: $(filter %.msgids,$(nodist_libkernel_a_SOURCES)) $(AM_V_at) cat $^ > $@.new $(AM_V_GEN) mv $@.new $@ # `exec_' prefix, so that we don't try to build that file during when running diff --git Makerules.mig.am Makerules.mig.am index 085b247..8ae6555 100644 --- Makerules.mig.am +++ Makerules.mig.am @@ -74,29 +74,28 @@ lib_dep_tr_for_defs_a_CPPFLAGS = $(AM_CPPFLAGS) \ %.server.defs.c: %.srv $(AM_V_at) rm -f $@ $(AM_V_GEN) cp -p $< $@ -%.user.defs.c: %.cli - $(AM_V_at) rm -f $@ - $(AM_V_GEN) cp -p $< $@ %.server.h %.server.c %.server.msgids: lib_dep_tr_for_defs_a-%.server.defs.$(OBJEXT) $(MIGCOM_V) $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMSFLAGS) \ -sheader $*.server.h -server $*.server.c \ -list $*.server.msgids \ < $< +%.user.defs.c: %.cli + $(AM_V_at) rm -f $@ + $(AM_V_GEN) cp -p $< $@ %.user.h %.user.c %.user.msgids: lib_dep_tr_for_defs_a-%.user.defs.$(OBJEXT) $(MIGCOM_V) $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMUFLAGS) \ -user $*.user.c -header $*.user.h \ -list $*.user.msgids \ < $< - -vpath %.defs $(top_srcdir) - # Stand-alone rule to generate the list of message ids when neither # the client nor the server stubs are required. -%.msgids: %.defs - $(MIGCOM_V) $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -E $< \ - | $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMSFLAGS) \ - -sheader /dev/null -server /dev/null \ - -list "$*.msgids" +%.none.defs.c: %.defs + $(AM_V_at) rm -f $@ + $(AM_V_GEN) cp -p $< $@ +%.none.msgids: lib_dep_tr_for_defs_a-%.none.defs.$(OBJEXT) + $(MIGCOM_V) $(MIGCOM) $(MIGCOMFLAGS) \ + -list $*.none.msgids \ + < $< # This is how it should be done, but this is not integrated into GNU Automake # and is missing automatic inter-file dependency management because of that. Grüße Thomas
signature.asc
Description: PGP signature