Formerly ../mach/Makefile.~24~
[kopensolaris-gnu/glibc.git] / mach / Makefile
index 294e4d0..8d5ec41 100644 (file)
@@ -35,19 +35,24 @@ mach-headers := host_info.h kern_return.h \
                vm_attributes.h vm_inherit.h vm_prot.h \
                vm_statistics.h
 
-user-interfaces := $(addprefix mach/,mach_interface mach_port mach_host \
-                                    default_pager_object \
-                                    memory_object_user memory_object_default)\
+user-interfaces := $(addprefix mach/,mach_interface mach_port mach_host        \
+                                    default_pager_object               \
+                                    memory_object_user                 \
+                                    memory_object_default              \
+                                    kernel_boot                        \
+                   )\
                   $(addprefix device/,device device_request)
 # device_reply is giving me headaches because of userprefix
-server-interfaces := mach/__exc
+server-interfaces := # mach/__exc mach/exc
 
 routines = $(interface-routines) \
+          $(filter-out syscall_%,$(mach-syscalls)) \
+          $(addprefix __,$(mach-syscalls)) \
           mach_init vm_page_size \
-          mig_strncpy mig_support msg \
+          mig_strncpy mig_support __bcopy msg \
           msg_destroy msg_server msg_server_t \
           __msg_destroy __msg_server \
-          devstream
+          devstream bootprivport privports
 
 tests := hello
 
@@ -68,8 +73,15 @@ clean-extras := $(clean-extras) $(objpfx)mach-syscalls.mk
 ifdef mach-syscalls
 $(mach-syscalls:%=$(objpfx)__%.S): $(objpfx)__%.S: mach-syscalls.mk
        (echo '#include <sysdep.h>'; \
-        echo 'SYSCALL_TRAP (__$*, $(sysno-$*))') > $@
-clean-extras := $(clean-extras) $(mach-syscalls:%=$(objpfx)__%.S)
+        echo 'SYSCALL_TRAP (__$*, $(sysno-$*))') > $@-new
+        mv $@-new $@
+$(mach-syscalls:%=$(objpfx)%.c): $(objpfx)%.c:
+       (echo '#include <gnu-stabs.h>'; \
+        echo 'symbol_alias (__$*, $*)') > $@-new
+       mv $@-new $@
+clean-extras := $(clean-extras) \
+               $(mach-syscalls:%=$(objpfx)__%.S) \
+               $(mach-syscalls:%=$(objpfx)%.c)
 endif
 
 mach-shortcuts := $(patsubst syscall_%,%,$(filter syscall_%,$(mach-syscalls)))
@@ -78,7 +90,8 @@ ifndef mach-shortcuts
 # Forget about mach_interface.defs for this run.  On the next run,
 # $(mach-shortcuts) will be set, and that will change how
 # mach_interface.defs is processed: it will get the -D flags below.
-user-interfaces := $(filter-out mach/mach_interface mach/mach_port,\
+user-interfaces := $(filter-out mach/mach_interface
+                               mach/mach_port mach/mach_host,\
                                $(user-interfaces))
 endif
 
@@ -95,13 +108,6 @@ $(mach-shortcuts:%=__%.c): __%.c: shortcut.awk __%_rpc.c
 endif
 
 include Machrules
-
-interface-routines := $(filter-out %_rpc,$(interface-routines)) \
-                     $(foreach call,$(mach-shortcuts),\
-                               __$(call) $(call) __syscall_$(call))
-dont_distribute := $(dont_distribute) \
-                  $(interface-routines:%=%.c) $(interface-headers)
-
 include ../Rules
 
 
@@ -114,6 +120,4 @@ mach/memory_object_user.defs: mach/memory_object.defs
        ln $< $@ || cp $< $@
 
 # Be sure not to make these with implicit rules from foo.defs.
-ifdef mach-headers
-$(mach-headers): ;
-endif
+$(filter-out $(interface-headers),$(headers)) : ;