summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2015-10-31 12:44:06 +0100
committerThomas Schwinge <thomas@codesourcery.com>2015-10-31 12:44:06 +0100
commita42c4ee0845b79fb70c2206982347c1b0c093f87 (patch)
tree17caa974d696b4cb35b619526c5200f86a2d654c
parent334208dc0d747075e93f4da45143ae67c2e7fe91 (diff)
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.
-rw-r--r--Makefrag.am11
-rw-r--r--Makerules.mig.am21
2 files changed, 19 insertions, 13 deletions
diff --git a/Makefrag.am b/Makefrag.am
index b9d96c5d..823ece5d 100644
--- a/Makefrag.am
+++ b/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 a/Makerules.mig.am b/Makerules.mig.am
index 085b247a..8ae65557 100644
--- a/Makerules.mig.am
+++ b/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.