
1: # Copyright (C) 1991,92,93,94,95,96,97,98,99,2001,2002,2004,2006 2: # Free Software Foundation, Inc. 3: # This file is part of the GNU C Library. 4: 5: # The GNU C Library is free software; you can redistribute it and/or 6: # modify it under the terms of the GNU Lesser General Public 7: # License as published by the Free Software Foundation; either 8: # version 2.1 of the License, or (at your option) any later version. 9: 10: # The GNU C Library is distributed in the hope that it will be useful, 11: # but WITHOUT ANY WARRANTY; without even the implied warranty of 12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13: # Lesser General Public License for more details. 14: 15: # You should have received a copy of the GNU Lesser General Public 16: # License along with the GNU C Library; if not, write to the Free 17: # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18: # 02111-1307 USA. 19: 20: subdir := hurd 21: 22: all: 23: 24: # Some things below (but before including Rules) use configuration variables. 25: include ../Makeconfig 26: 27: 28: headers = hurd.h $(interface-headers) \ 29: $(addprefix hurd/,fd.h id.h port.h signal.h sigpreempt.h ioctl.h\ 30: userlink.h resource.h threadvar.h lookup.h) 31: 32: inline-headers = hurd.h $(addprefix hurd/,fd.h signal.h \ 33: userlink.h threadvar.h port.h) 34: 35: # The RPC interfaces go in a separate library. 36: interface-library := libhurduser 37: user-interfaces := $(addprefix hurd/,\ 38: auth startup \ 39: process process_request \ 40: msg msg_reply msg_request \ 41: exec exec_startup crash interrupt \ 42: fs fsys io term tioctl socket ifsock \ 43: login password pfinet \ 44: ) 45: server-interfaces := hurd/msg faultexc 46: 47: routines = hurdstartup hurdinit \ 48: hurdid hurdpid hurdrlimit hurdprio hurdexec hurdselect \ 49: hurdlookup lookup-retry lookup-at \ 50: get-host set-host \ 51: path-lookup \ 52: setauth \ 53: pid2task task2pid \ 54: geteuids seteuids getumask fchroot \ 55: hurdsock hurdauth \ 56: hurdchdir hurdfchdir \ 57: privports \ 58: msgportdemux \ 59: fopenport \ 60: vpprintf \ 61: ports-get ports-set hurdports hurdmsg \ 62: errno-loc \ 63: $(sig) $(dtable) $(inlines) port-cleanup report-wait xattr 64: sig = hurdsig hurdfault siginfo hurd-raise preempt-sig \ 65: trampoline longjmp-ts catch-exc exc2signal hurdkill sigunwind \ 66: thread-self thread-cancel intr-msg catch-signal 67: dtable = dtable port2fd new-fd alloc-fd intern-fd \ 68: getdport openport \ 69: fd-close fd-read fd-write hurdioctl ctty-input ctty-output 70: inlines = $(inline-headers:%.h=%-inlines) 71: distribute = hurdstartup.h hurdfault.h hurdhost.h \ 72: faultexc.defs intr-rpc.defs intr-rpc.h intr-msg.h Notes 73: 74: # XXX this is a temporary hack; see hurdmalloc.h 75: routines += hurdmalloc 76: distribute += hurdmalloc.h 77: 78: # Binary compatibility for libc.so.0.2[GLIBC_2.0]. 79: ifeq ($(versioning),yes) 80: routines += compat-20 81: endif 82: 83: shared-only-routines = compat-20 84: 85: # For each of the $(inline-headers), generate a trivial source 86: # file that will #include it to define its inline functions as real functions. 87: $(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h 88: (h="`echo $(subst /,_,$*) | tr '[a-z]' '[A-Z]'`"; \ 89: echo "#define _$${h}_H_EXTERN_INLINE /* Define real function. */"; \ 90: echo '#include "$<"') > $@-new 91: mv -f $@-new $@ 92: generated += $(inlines:=.c) 93: ^L 94: include ../mach/Machrules 95: include ../Rules 96: ^L 97: # intr-rpc.defs defines the INTR_INTERFACE macro to make the generated RPC 98: # stubs import <hurd/signal.h> and #define __mach_msg to 99: # _hurd_intr_rpc_mach_msg. 100: user-MIGFLAGS += -imacros intr-rpc.defs 101: 102: # The special exc server for sigthread faults uses a special prefix. 103: MIGFLAGS-faultexc = -prefix _hurdsig_fault_ 104: 105: # We need this static dependency to get faultexc.h generated the first time. 106: $(objpfx)hurdfault.o $(objpfx)hurdfault.d: \ 107: $(objpfx)faultexc_server.h $(objpfx)faultexc_server.c