]>
Commit | Line | Data |
---|---|---|
a334319f | 1 | # Copyright (C) 1991,92,93,94,95,96,97,98,99,2001,2002 |
5fe915ee | 2 | # Free Software Foundation, Inc. |
28f540f4 RM |
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 | |
41bdb6e2 AJ |
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. | |
28f540f4 RM |
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 | |
41bdb6e2 | 13 | # Lesser General Public License for more details. |
28f540f4 | 14 | |
41bdb6e2 AJ |
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. | |
28f540f4 RM |
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) \ | |
9f447fb3 | 29 | $(addprefix hurd/,fd.h id.h port.h signal.h sigpreempt.h ioctl.h\ |
7974fe21 | 30 | userlink.h resource.h threadvar.h lookup.h) |
28f540f4 | 31 | |
6f9dc08b RM |
32 | inline-headers = hurd.h $(addprefix hurd/,fd.h signal.h \ |
33 | userlink.h threadvar.h port.h) | |
34 | ||
28f540f4 | 35 | # The RPC interfaces go in a separate library. |
f0bf9cb9 | 36 | interface-library := libhurduser |
28f540f4 | 37 | user-interfaces := $(addprefix hurd/,\ |
75914335 RM |
38 | auth startup \ |
39 | process process_request \ | |
28f540f4 | 40 | msg msg_reply msg_request \ |
03a75825 | 41 | exec exec_startup crash interrupt \ |
7d25696a | 42 | fs fsys io term tioctl socket ifsock \ |
7facfddd | 43 | login password pfinet \ |
7d25696a | 44 | ) |
aa1075ea | 45 | server-interfaces := hurd/msg faultexc |
28f540f4 | 46 | |
11872325 | 47 | routines = hurdstartup hurdinit \ |
5fe915ee | 48 | hurdid hurdpid hurdrlimit hurdprio hurdexec hurdselect \ |
a334319f | 49 | hurdlookup lookup-retry \ |
5fbef188 | 50 | get-host set-host \ |
8f0c527e | 51 | path-lookup \ |
28f540f4 RM |
52 | setauth \ |
53 | pid2task task2pid \ | |
2d6d0728 | 54 | geteuids seteuids getumask fchroot \ |
8f5ca04b | 55 | hurdsock hurdauth \ |
e8f51d56 | 56 | hurdchdir hurdfchdir \ |
28f540f4 RM |
57 | privports \ |
58 | msgportdemux \ | |
59 | fopenport \ | |
f0f1bf85 | 60 | vpprintf \ |
28f540f4 | 61 | ports-get ports-set hurdports hurdmsg \ |
747bf98e | 62 | errno-loc \ |
a334319f | 63 | $(sig) $(dtable) $(inlines) port-cleanup report-wait |
aa1075ea | 64 | sig = hurdsig hurdfault siginfo hurd-raise preempt-sig \ |
ded29119 | 65 | trampoline longjmp-ts catch-exc exc2signal hurdkill sigunwind \ |
7974fe21 | 66 | thread-self thread-cancel intr-msg catch-signal |
28f540f4 RM |
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 | |
6f9dc08b | 70 | inlines = $(inline-headers:%.h=%-inlines) |
5fbef188 | 71 | distribute = hurdstartup.h hurdfault.h hurdhost.h \ |
158ff48e | 72 | faultexc.defs intr-rpc.defs intr-rpc.h intr-msg.h Notes |
28f540f4 RM |
73 | |
74 | # XXX this is a temporary hack; see hurdmalloc.h | |
75 | routines += hurdmalloc | |
76 | distribute += hurdmalloc.h | |
aab217f3 RM |
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 | |
6f9dc08b RM |
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) | |
28f540f4 | 93 | \f |
28f540f4 RM |
94 | include ../mach/Machrules |
95 | include ../Rules | |
96 | \f | |
97 | # intr-rpc.defs defines the INTR_INTERFACE macro to make the generated RPC | |
54da5be3 RM |
98 | # stubs import <hurd/signal.h> and #define __mach_msg to |
99 | # _hurd_intr_rpc_mach_msg. | |
28f540f4 RM |
100 | user-MIGFLAGS += -imacros intr-rpc.defs |
101 | ||
aa1075ea RM |
102 | # The special exc server for sigthread faults uses a special prefix. |
103 | MIGFLAGS-faultexc = -prefix _hurdsig_fault_ | |
28f540f4 RM |
104 | |
105 | # We need this static dependency to get faultexc.h generated the first time. | |
106 | $(objpfx)hurdfault.o $(objpfx)hurdfault.d: \ | |
aa1075ea | 107 | $(objpfx)faultexc_server.h $(objpfx)faultexc_server.c |