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

Attachment: signature.asc
Description: PGP signature

Reply via email to