about summary refs log tree commit diff
path: root/REORG.TODO/sysdeps/mach/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/mach/Makefile')
-rw-r--r--REORG.TODO/sysdeps/mach/Makefile53
1 files changed, 53 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/mach/Makefile b/REORG.TODO/sysdeps/mach/Makefile
new file mode 100644
index 0000000000..1ae25b2d74
--- /dev/null
+++ b/REORG.TODO/sysdeps/mach/Makefile
@@ -0,0 +1,53 @@
+# Copyright (C) 1993-2017 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
+ifdef in-Makerules
+
+# Look for header files in mach/ under the top-level library source directory.
+# Look for generated header files where they get created.
+includes += -I$(..)mach -I$(common-objpfx)mach/
+
+ifneq (mach,$(subdir))
+# Subdirectories other than mach/ might use the generated Mach headers.
+# So make sure we get a chance to run in mach/ to make them before all else.
+
+mach-objpfx = $(common-objpfx)mach/
+else
+mach-objpfx = $(objpfx)
+endif
+
+# These are all the generated files that <mach.h> includes.
+# Actually, it's only some of them.  We omit mach_interface.h
+# because it's different in Darwin and the conditional crap is
+# too much trouble.  This should suffice for getting the mach/Makefile
+# rules invoked when they need to be.
+mach-before-compile := $(mach-objpfx)mach-shortcuts.h \
+		       $(patsubst %,$(mach-objpfx)mach/mach_%.h,\
+				  port host)
+
+ifneq (mach,$(subdir))
+# This patsubst generates patterns like `m%h-shortcuts.h', which are damn
+# likely to match just the corresponding particular file we want.
+$(patsubst mach%,m\%h%,$(mach-before-compile)): mach-before-compile # Run only if doesn't exist.
+.PHONY: mach-before-compile
+mach-before-compile:
+	$(MAKE) -C $(..)mach subdir=mach mach-before-compile no_deps=t generating=t
+
+before-compile += $(mach-before-compile)
+endif
+
+endif	# in-Makerules