1 # Copyright (C) 1993-2022 Free Software Foundation, Inc.
2 # This file is part of the GNU C Library.
4 # The GNU C Library is free software; you can redistribute it and/or
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.
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 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with the GNU C Library; if not, see
16 # <https://www.gnu.org/licenses/>.
20 # Look for header files in mach/ under the top-level library source directory.
21 # Look for generated header files where they get created.
22 includes
+= -I
$(..
)mach
-I
$(common-objpfx
)mach
/
24 ifneq (mach
,$(subdir
))
25 # Subdirectories other than mach/ might use the generated Mach headers.
26 # So make sure we get a chance to run in mach/ to make them before all else.
28 mach-objpfx
= $(common-objpfx
)mach
/
30 mach-objpfx
= $(objpfx
)
33 # These are all the generated files that <mach.h> includes.
34 # Actually, it's only some of them. We omit mach_interface.h
35 # because it's different in Darwin and the conditional crap is
36 # too much trouble. This should suffice for getting the mach/Makefile
37 # rules invoked when they need to be.
38 mach-before-compile
:= $(mach-objpfx
)mach-shortcuts.h \
39 $(patsubst %,$(mach-objpfx
)mach
/mach_
%.h
,\
42 ifneq (mach
,$(subdir
))
43 # This patsubst generates patterns like `m%h-shortcuts.h', which are damn
44 # likely to match just the corresponding particular file we want.
45 $(patsubst mach
%,m\
%h
%,$(mach-before-compile
)): mach-before-compile
# Run only if doesn't exist.
46 .PHONY
: mach-before-compile
48 $(MAKE
) -C
$(..
)mach subdir
=mach mach-before-compile no_deps
=t generating
=t
50 before-compile
+= $(mach-before-compile
)
53 ifeq (crypt
,$(subdir
))
54 LDLIBS-crypt.so
+= $(objdir
)/mach
/libmachuser.so
55 else ifeq (dlfcn
,$(subdir
))
56 LDLIBS-dl.so
+= $(objdir
)/mach
/libmachuser.so
57 else ifeq (nis
,$(subdir
))
58 LDLIBS-nsl.so
+= $(objdir
)/mach
/libmachuser.so
59 LDLIBS-nss_compat.so
+= $(objdir
)/mach
/libmachuser.so
60 else ifeq (nss
,$(subdir
))
61 LDLIBS-nss.so
+= $(objdir
)/mach
/libmachuser.so
62 LDLIBS-nss_files.so
+= $(objdir
)/mach
/libmachuser.so
63 LDLIBS-nss_db.so
+= $(objdir
)/mach
/libmachuser.so
64 LDLIBS-nss_compat.so
+= $(objdir
)/mach
/libmachuser.so
65 else ifeq (hesiod
,$(subdir
))
66 LDLIBS-nss_hesiod.so
+= $(objdir
)/mach
/libmachuser.so
67 else ifeq (posix
,$(subdir
))
68 LDLIBS-tst-rfc3484
+= $(objdir
)/mach
/libmachuser.so
69 LDLIBS-tst-rfc3484-2
+= $(objdir
)/mach
/libmachuser.so
70 LDLIBS-tst-rfc3484-3
+= $(objdir
)/mach
/libmachuser.so
71 else ifeq (nscd
,$(subdir
))
72 LDLIBS-nscd
+= $(objdir
)/mach
/libmachuser.so
75 LDLIBS-pthread.so
+= $(objdir
)/mach
/libmachuser.so