diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | Makerules.in | 28 | ||||
-rw-r--r-- | i386/Makefile.in | 2 |
4 files changed, 25 insertions, 18 deletions
@@ -1,3 +1,14 @@ +2006-07-24 Thomas Schwinge <tschwinge@gnu.org> + + * Makerules.in (%.h %_user.c): Add `%.cli.d' to the target list. + Create these files by specifying `-MD' as a flag for mig and rename the + resulting files as needed. + Include these `*.cli.d' files instead of `*.migu.d' files. + (%_interface.h %_server.c): Likewise for `%.srv.d' / `*.migs.d'. + (%.migs.d, %.migu.d): Remove targets. + * Makefile.in (clean): Adapt to the above. + * i386/Makefile.in (clean): Likewise. + 2006-06-30 Samuel Thibault <samuel.thibault@ens-lyon.org> * i386/i386at/kd_mouse.c (mouse_char_in, mouse_char) Remove variables. diff --git a/Makefile.in b/Makefile.in index 575305a..1217b28 100644 --- a/Makefile.in +++ b/Makefile.in @@ -248,7 +248,7 @@ clean: rm -f clib-routines.o kernel.o kernel-undef kernel-undef-bad rm -f kernel kernel.gz kernel.stripped kernel.stripped.gz rm -f $(objfiles) $(subst .o,.d,$(objfiles)) - rm -f *.symc *.symc.o *_user.c *_server.c *.h *.migs.d *.migu.d + rm -f *.symc *.symc.o *_user.c *_server.c *.h *.cli.d *.srv.d distclean: clean $(MAKE) -C $(systype) $@ diff --git a/Makerules.in b/Makerules.in index 271cf7c..7538834 100644 --- a/Makerules.in +++ b/Makerules.in @@ -94,14 +94,18 @@ ASFLAGS += -DASSEMBLER # Building from foo.cli .PRECIOUS: %_user.c -%.h %_user.c: %.cli - $(MIG) $(MIGFLAGS) -header $*.h -user $*_user.c -server /dev/null $< +%.h %_user.c %.cli.d: %.cli + $(MIG) $(MIGFLAGS) -MD \ + -header $*.h -user $*_user.c -server /dev/null $< + mv $*-mig.d $*.cli.d # Building from foo.srv .PRECIOUS: %_server.c -%_interface.h %_server.c: %.srv - $(MIG) $(MIGFLAGS) -sheader $*_interface.h -server $*_server.c \ - -header /dev/null -user /dev/null $< +%_interface.h %_server.c %.srv.d: %.srv + $(MIG) $(MIGFLAGS) -MD \ + -sheader $*_interface.h -server $*_server.c \ + -header /dev/null -user /dev/null $< + mv $*-mig.d $*.srv.d # gzip files %.gz: % @@ -123,23 +127,15 @@ endif # Include dependency files ifneq ($(no_deps),t) -# For each file generated by MiG we need a .d file. --include $(subst _server.o,.migs.d,$(servers)) /dev/null --include $(subst _user.o,.migu.d,$(users)) /dev/null +# The MIG stubs depend on their definition files. +-include $(subst _server.o,.srv.d,$(servers)) /dev/null +-include $(subst _user.o,.cli.d,$(users)) /dev/null # For each .o file we need a .d file. -include $(subst .o,.d,$(filter %.o,$(objfiles))) /dev/null endif -# Here is how to make those dependency files -%.migs.d: %.srv - (set -e; $(CPP) $(MIGFLAGS) -M -MG -x c $< | \ - sed -e 's/[^:]*:/$*_server.c $*_interface.h $@:/' > $@) -%.migu.d: %.cli - (set -e; $(CPP) $(MIGFLAGS) -M -MG -x c $< | \ - sed -e 's/[^:]*:/$*_user.c $*.h $@:/' > $@) - # Generic rule for $(CC) based compilation for making dependencies define make-deps set -e; $(CC) $(CFLAGS) $(CPPFLAGS) -M -MG $< | \ diff --git a/i386/Makefile.in b/i386/Makefile.in index 1a6f6e7..6fcd5c3 100644 --- a/i386/Makefile.in +++ b/i386/Makefile.in @@ -148,7 +148,7 @@ clean: $(MAKE) -C linux $@ rm -f sysdep.a rm -f $(objfiles) $(subst .o,.d,$(objfiles)) - rm -f *.symc *.symc.o *_user.c *_server.c *.h *.migs.d *.migu.d + rm -f *.symc *.symc.o *_user.c *_server.c *.h *.cli.d *.srv.d distclean: clean $(MAKE) -C linux $@ |