summaryrefslogtreecommitdiff
path: root/mach/Machrules
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1992-11-04 00:16:09 +0000
committerRoland McGrath <roland@gnu.org>1992-11-04 00:16:09 +0000
commita551a66eb3d87875de89062acf540c0e172443b0 (patch)
treee869877dcf271ef712db509cb7b018d7f6e757d5 /mach/Machrules
parentd5aa3b16917bc5908cebb8cbdf64ebd46606b1cd (diff)
Formerly ../mach/Machrules.~14~
Diffstat (limited to 'mach/Machrules')
-rw-r--r--mach/Machrules12
1 files changed, 8 insertions, 4 deletions
diff --git a/mach/Machrules b/mach/Machrules
index 643c70167a..4a1822f915 100644
--- a/mach/Machrules
+++ b/mach/Machrules
@@ -60,18 +60,22 @@ endif
# the kludgificacious method of defining a pattern rule to build files
# matching patterns we are pretty damn sure will only match the particular
# files we have in mind.
-%.ir: %.uh Machrules
+%.ir: %.uh
(echo 'define $*-calls' ;\
awk '/^kern_return_t/ { print $$2 }' $< ;\
echo 'endef' ;\
echo '$*-calls := $$(subst $$(nl), ,$$($*-calls))' ;\
echo '$$($*-calls:%=_\%%.c): $*.defs' ;\
- echo ' $$(MIG) $$< $$(MIGFLAGS) -prefix __ -i ./__' \\ ;\
- echo ' -server /dev/null -user /dev/null -header /dev/null' \
+ echo ' $$(generate-user-calls)' \
) > $@-new
mv $@-new $@
vpath Machrules ../mach # Find ourselves.
+define generate-user-calls
+$(MIG) $< $(MIGFLAGS) \
+ -prefix __ -i ./__ -server /dev/null -user /dev/null -header /dev/null
+endef
+
__%_server.c __%_server.h: %.defs
$(MIG) $< $(MIGFLAGS) -prefix __ \
-user /dev/null -header /dev/null \
@@ -98,7 +102,7 @@ __%_server.c __%_server.h: %.defs
if-calls.c := $(strip $(foreach if,$(user-interfaces),$($(if)-calls:%=%.c)))
ifdef if-calls.c
-$(if-calls.c): %.c:
+$(if-calls.c):
(echo '#include <gnu-stabs.h>'; \
echo 'symbol_alias (__$*, $*)') > $@-new
mv $@-new $@