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