Formerly ../mach/Makefile.~16~
[kopensolaris-gnu/glibc.git] / hurd / Makefile
1 # Copyright (C) 1991, 1992 Free Software Foundation, Inc.
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
5 # modify it under the terms of the GNU Library General Public License
6 # as published by the Free Software Foundation; either version 2 of
7 # the License, or (at your option) any later version.
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
12 # Library General Public License for more details.
13
14 # You should have received a copy of the GNU Library General Public
15 # License along with the GNU C Library; see the file COPYING.LIB.  If
16 # not, write to the Free Software Foundation, Inc., 675 Mass Ave,
17 # Cambridge, MA 02139, USA.
18
19 subdir := hurd
20
21 interface-header-prefix = hurd/
22 headers = hurd.h # $(interface-headers)
23
24 ifneq (,)
25 user-interfaces         := auth process \
26                            exec core interrupt \
27                            fs io socket term
28 server-interfaces       := misc
29 endif
30
31 routines = __pid2task __task2pid pid2task task2pid \
32            __setauth setauth hurdports \
33            fchroot \
34            hurdauth hurdid hurdpath hurdpid hurdsig hurdsock hurdfrob \
35            dtable __getdport getdport openport setdtsz \
36            msgportdemux startsig \
37            getuids getumask \
38            dead_recv \
39            fopenport __fopenport \
40            $(interface-routines)
41 aux := hurdsyms
42
43 all:
44
45
46 # This rule needs to come before the implicit rules in Machrules.
47 __%.c: intr_rpc.awk %_rpc.c
48         gawk -v call=__$* -v rpc=__$*_rpc -f $^ > $@-new
49         mv $@-new $@
50 # __%_rpc.c is made with mig by Machrules.
51 %_rpc.c: __%_rpc.c
52         sed s/MACH_MSG_OPTION_NONE/MACH_SEND_INTERRUPT/ $< > $@
53
54 include ../mach/Machrules
55
56 ifdef user-interfaces
57 include hurdintr
58 endif
59 hurdintr: hurdintr.awk $(user-interfaces:%=%.defs)
60         awk -f $^ varname=intr-calls > $@-new
61         mv $@-new $@
62
63 # Make the INTR user stubs be defined as CALL_rpc.
64 migdefines := $(migdefines) $(foreach call,$(intr-calls),-D$(call)=$(call)_rpc)
65
66 interface-routines := $(filter-out %_rpc,$(interface-routines)) \
67                       $(intr-calls:%=__% %)
68 dont_distribute = $(interface-routines:%=%.c) $(interface-headers)
69
70 distribute := intr_rpc.awk hurdintr.awk
71
72 include ../Rules