summaryrefslogtreecommitdiff
path: root/mach/Machrules
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1994-04-05 07:48:39 +0000
committerRoland McGrath <roland@gnu.org>1994-04-05 07:48:39 +0000
commitf1625f81e3d686dd07b7a714850fbd8859f6c9c4 (patch)
tree282ec162bd57a5398ce7c122346405408919515c /mach/Machrules
parent6b806dd43b65a04d321de7188d62a248522e742c (diff)
Formerly ../mach/Machrules.~40~
Diffstat (limited to 'mach/Machrules')
-rw-r--r--mach/Machrules27
1 files changed, 26 insertions, 1 deletions
diff --git a/mach/Machrules b/mach/Machrules
index 19b99d23ab..1b24430e4f 100644
--- a/mach/Machrules
+++ b/mach/Machrules
@@ -18,9 +18,10 @@
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
# Cambridge, MA 02139, USA.
-# Makefiles define these variable before including this file:
+# Makefiles may define these variable before including this file:
# user-interfaces Names of interfaces to put user stubs in for.
# server-interfaces Names of interfaces to put server stubs in for.
+# interface-library Name of interface library to build and install.
# This file sets:
# interface-headers Names of generated interface header files.
# interface-routines Names of generated interface routines.
@@ -183,3 +184,27 @@ $(server-interfaces:%=$(objpfx)%.o): \
mach/mig_support.h mach/std_types.h
# The MiG-generated sources also depend on the imports in their .defs files.
# These dependencies are generated into the .ir files above.
+
+# If defined, $(interface-library) is `libNAME.a'. It is to be a library
+# containing all the MiG-generated functions for the specified interfaces.
+
+ifdef interface-library
+
+$(interface-library)-objs := $(interface-routines:%=%.o)
+
+install-lib += $(interface-library)
+extra-objs += $($(interface-library)-objs)
+
+$(objpfx)$(interface-library): $(addprefix $(objpfx),\
+ $($(interface-library)-objs))
+ifdef objdir
+ cd $(objdir); $(AR) cru$(verbose) $(@:$(objpfx)%=%) $(^:$(objpfx)%=%)
+else
+ $(AR) cru$(verbose) $@ $^
+endif
+ $(RANLIB) $@
+
+mostlyclean:
+ -rm -f $(objpfx)$(interface-library)
+
+endif