about summary refs log tree commit diff
path: root/REORG.TODO/hurd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/hurd/Makefile')
-rw-r--r--REORG.TODO/hurd/Makefile98
1 files changed, 98 insertions, 0 deletions
diff --git a/REORG.TODO/hurd/Makefile b/REORG.TODO/hurd/Makefile
new file mode 100644
index 0000000000..9205822b24
--- /dev/null
+++ b/REORG.TODO/hurd/Makefile
@@ -0,0 +1,98 @@
+# Copyright (C) 1991-2017 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
+subdir := hurd
+
+include ../Makeconfig
+
+headers = hurd.h $(interface-headers) \
+	  $(addprefix hurd/,fd.h id.h port.h signal.h sigpreempt.h ioctl.h\
+			    userlink.h resource.h threadvar.h lookup.h)
+
+inline-headers = hurd.h $(addprefix hurd/,fd.h signal.h \
+					  userlink.h threadvar.h port.h)
+
+# The RPC interfaces go in a separate library.
+interface-library := libhurduser
+user-interfaces		:= $(addprefix hurd/,\
+				       auth startup \
+				       process process_request \
+				       msg msg_reply msg_request \
+				       exec exec_startup crash interrupt \
+				       fs fsys io term tioctl socket ifsock \
+				       login password pfinet \
+				       )
+server-interfaces	:= hurd/msg faultexc
+
+routines = hurdstartup hurdinit \
+	   hurdid hurdpid hurdrlimit hurdprio hurdexec hurdselect \
+	   hurdlookup lookup-retry lookup-at \
+	   get-host set-host \
+	   path-lookup \
+	   setauth \
+	   pid2task task2pid \
+	   geteuids seteuids getumask fchroot \
+	   hurdsock hurdauth \
+	   hurdchdir hurdfchdir \
+	   privports \
+	   msgportdemux \
+	   fopenport \
+	   vpprintf \
+	   ports-get ports-set hurdports hurdmsg \
+	   errno-loc \
+	   $(sig) $(dtable) $(inlines) port-cleanup report-wait xattr
+sig	= hurdsig hurdfault siginfo hurd-raise preempt-sig \
+	  trampoline longjmp-ts catch-exc exc2signal hurdkill sigunwind \
+	  thread-self thread-cancel intr-msg catch-signal
+dtable	= dtable port2fd new-fd alloc-fd intern-fd \
+	  getdport openport \
+	  fd-close fd-read fd-write hurdioctl ctty-input ctty-output
+inlines = $(inline-headers:%.h=%-inlines)
+
+# XXX this is a temporary hack; see hurdmalloc.h
+routines += hurdmalloc
+
+# Binary compatibility for libc.so.0.2[GLIBC_2.0].
+ifeq ($(build-shared),yes)
+routines += compat-20
+endif
+
+shared-only-routines = compat-20
+
+# For each of the $(inline-headers), generate a trivial source
+# file that will #include it to define its inline functions as real functions.
+$(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h
+	(h="`echo $(subst /,_,$*) | tr '[a-z]' '[A-Z]'`"; \
+	 echo "#define _$${h}_H_EXTERN_INLINE /* Define real function.  */"; \
+	 echo '#include "$<"') > $@-new
+	mv -f $@-new $@
+generated += $(inlines:=.c)
+
+include ../mach/Machrules
+include ../Rules
+
+# intr-rpc.defs defines the INTR_INTERFACE macro to make the generated RPC
+# stubs import <hurd/signal.h> and #define __mach_msg to
+# _hurd_intr_rpc_mach_msg.
+user-MIGFLAGS += -imacros intr-rpc.defs
+
+# The special exc server for sigthread faults uses a special prefix.
+MIGFLAGS-faultexc = -prefix _hurdsig_fault_
+
+# We need this static dependency to get faultexc.h generated the first time.
+$(objpfx)hurdfault.o $(objpfx)hurdfault.d: \
+	$(objpfx)faultexc_server.h $(objpfx)faultexc_server.c