Loading...
--- xnu/xnu-12377.121.6/Makefile
+++ xnu/xnu-792/Makefile
@@ -1,396 +1,69 @@
-#
-# Copyright (C) 1999-2020 Apple Inc. All rights reserved.
-#
ifndef VERSDIR
-export VERSDIR := $(shell /bin/pwd)
+export VERSDIR=$(shell /bin/pwd)
+endif
+ifndef SRCROOT
+export SRCROOT=$(shell /bin/pwd)
+endif
+ifndef OBJROOT
+export OBJROOT=$(SRCROOT)/BUILD/obj
+endif
+ifndef DSTROOT
+export DSTROOT=$(SRCROOT)/BUILD/dst
+endif
+ifndef SYMROOT
+export SYMROOT=$(SRCROOT)/BUILD/sym
endif
-ifndef SRCROOT
-export SRCROOT := $(shell /bin/pwd)
-endif
-ifndef OBJROOT
-export OBJROOT = $(SRCROOT)/BUILD/obj
-endif
-ifndef DSTROOT
-export DSTROOT = $(SRCROOT)/BUILD/dst
-endif
-ifndef SYMROOT
-export SYMROOT = $(SRCROOT)/BUILD/sym
-endif
-ifndef MallocNanoZone
-export MallocNanoZone := 1
-endif
-
-# Avoid make default rules, make becomes faster
-MAKEFLAGS+=r
-
-export MakeInc_top=${VERSDIR}/makedefs/MakeInc.top
-export MakeInc_kernel=${VERSDIR}/makedefs/MakeInc.kernel
export MakeInc_cmd=${VERSDIR}/makedefs/MakeInc.cmd
export MakeInc_def=${VERSDIR}/makedefs/MakeInc.def
export MakeInc_rule=${VERSDIR}/makedefs/MakeInc.rule
export MakeInc_dir=${VERSDIR}/makedefs/MakeInc.dir
-.DEFAULT_GOAL := default
-
-export PATCH_PREFIX ?= change-under-test_
-export PATCH_GLOB ?= $(PATCH_PREFIX)*.diff
-
-
-skip:
- @echo "Skipping $(RC_ProjectName)"
-
-.PHONY: skip
-
-#
-# Dispatch non-xnu build aliases to their own build
-# systems. All xnu variants start with MakeInc_top.
-#
-
-ifneq ($(findstring Libsyscall,$(RC_ProjectName)),)
-
-include $(MakeInc_cmd)
-include $(MakeInc_def)
-include $(MakeInc_rule)
-
-ifeq ($(RC_ProjectName),Libsyscall_headers_Sim)
-TARGET=-target Libsyscall_headers_Sim
-endif
-
-ifeq ($(RC_ProjectName),Libsyscall_driverkit)
-TARGET=-target Libsyscall_driverkit
-endif
-
-# default to OS X
-SDKROOT ?= macosx.internal
-
-default: install
-
-Libsyscall_driverkit: install
-
-.PHONY: Libsyscall_driverkit
-
-installhdrs install::
- cd libsyscall ; \
- xcodebuild $@ $(TARGET) \
- $(MAKEOVERRIDES) \
- "SRCROOT=$(SRCROOT)/libsyscall" \
- "OBJROOT=$(OBJROOT)" \
- "SYMROOT=$(SYMROOT)" \
- "DSTROOT=$(DSTROOT)" \
- "SDKROOT=$(SDKROOT)"
-
-installhdrs install:: do_unifdef_headers
-
-$(eval $(call LIBSYSCALL_DO_UNIFDEF_HEADERS_RULE_template,$(DSTROOT)/$(INCDIR),$(SINCFRAME_UNIFDEF)))
-$(eval $(call LIBSYSCALL_DO_UNIFDEF_HEADERS_RULE_template,$(DSTROOT)/$(LCLDIR),$(SPINCFRAME_UNIFDEF)))
-ifeq ($(DRIVERKIT),1)
-$(eval $(call LIBSYSCALL_DO_UNIFDEF_HEADERS_RULE_template,$(DSTROOT)/$(DRIVERKITINCDIR),$(DKINCFRAME_UNIFDEF)))
-$(eval $(call LIBSYSCALL_DO_UNIFDEF_HEADERS_RULE_template,$(DSTROOT)/$(DRIVERKITLCLDIR),$(DKPINCFRAME_UNIFDEF)))
-endif
-
-clean:
-
-installsrc:
- pax -rw . $(SRCROOT)
-
-else ifneq ($(findstring libkxld_host,$(RC_ProjectName)),)
-
-include $(MakeInc_cmd)
-
-default: install
-
-installhdrs install clean:
- $(MAKE) -C libkern/kxld $@ USE_APPLE_PB_SUPPORT=all PRODUCT_TYPE=ARCHIVE
-
-installsrc:
- $(_v)$(MKDIR) $(SRCROOT)
- $(_v)$(FIND) -x . \! \( \( -name BUILD -o -name .svn -o -name .git -o -name cscope.\* -o -name compile_commands.json -o -name \*~ \) -prune \) -print0 | $(PAX) -rw -p a -d0 $(SRCROOT)
- $(_v)$(CHMOD) -R go+rX $(SRCROOT)
-
-else ifneq ($(findstring libkxld,$(RC_ProjectName)),)
-
-include $(MakeInc_cmd)
-
-default: install
-
-installhdrs install clean:
- $(MAKE) -C libkern/kxld $@ USE_APPLE_PB_SUPPORT=all
-
-installsrc:
- $(_v)$(MKDIR) $(SRCROOT)
- $(_v)$(FIND) -x . \! \( \( -name BUILD -o -name .svn -o -name .git -o -name cscope.\* -name compile_commands.json -o -name \*~ \) -prune \) -print0 | $(PAX) -rw -p a -d0 $(SRCROOT)
- $(_v)$(CHMOD) -R go+rX $(SRCROOT)
-
-else ifneq ($(findstring libkmod,$(RC_ProjectName)),)
-
-default: install
-
-installhdrs install:
- cd libkern/kmod ; \
- xcodebuild $@ \
- $(MAKEOVERRIDES) \
- "SRCROOT=$(SRCROOT)/libkern/kmod" \
- "OBJROOT=$(OBJROOT)" \
- "SYMROOT=$(SYMROOT)" \
- "DSTROOT=$(DSTROOT)" \
- "SDKROOT=$(SDKROOT)"
-
-clean:
-
-installsrc:
- pax -rw . $(SRCROOT)
-
-else ifneq ($(findstring xnu_tests,$(RC_ProjectName)),)
-
-export SYSCTL_HW_PHYSICALCPU := $(shell /usr/sbin/sysctl -n hw.physicalcpu)
-export SYSCTL_HW_LOGICALCPU := $(shell /usr/sbin/sysctl -n hw.logicalcpu)
-MAKEJOBS := --jobs=$(shell expr $(SYSCTL_HW_LOGICALCPU) + 1)
-
-default: install
-
-installhdrs:
-
-install: xnu_tests
-
-clean:
-
-installsrc:
- pax -rw . $(SRCROOT)
-
-else ifeq ($(RC_ProjectName),xnu_tests_driverkit)
-
-export SYSCTL_HW_PHYSICALCPU := $(shell /usr/sbin/sysctl -n hw.physicalcpu)
-export SYSCTL_HW_LOGICALCPU := $(shell /usr/sbin/sysctl -n hw.logicalcpu)
-MAKEJOBS := --jobs=$(shell expr $(SYSCTL_HW_LOGICALCPU) + 1)
-
-default: install
-
-installhdrs:
-
-install: xnu_tests_driverkit
-
-clean:
-
-installsrc:
- pax -rw . $(SRCROOT)
-
-else # all other RC_ProjectName
-
-ifndef CURRENT_BUILD_CONFIG
-
-# avoid having to include MakeInc.cmd
-ifeq ($(RC_XBS),YES)
-_v =
-else ifeq ($(VERBOSE),YES)
-_v =
-else
-_v = @
-endif
-
-#
-# Setup for parallel sub-makes, taking into account physical and logical
-# CPUs. If the system does not support SMT, use N+1.
-# If MAKEJOBS or -jN is passed on the make line, that takes precedence.
-#
-export SYSCTL_HW_PHYSICALCPU := $(shell /usr/sbin/sysctl -n hw.physicalcpu)
-export SYSCTL_HW_LOGICALCPU := $(shell /usr/sbin/sysctl -n hw.logicalcpu)
-MAKEJOBS := --jobs=$(shell expr $(SYSCTL_HW_LOGICALCPU) + 1)
-
-TOP_TARGETS = \
- clean \
- installsrc \
- exporthdrs \
- all all_desktop all_embedded \
- all_release_embedded all_development_embedded \
- all_release_desktop all_development_desktop \
- installhdrs installhdrs_desktop installhdrs_embedded \
- installhdrs_release_embedded installhdrs_development_embedded \
- installhdrs_release_desktop installhdrs_development_desktop \
- install install_desktop install_embedded \
- install_release_embedded install_development_embedded \
- install_release_desktop install_development_desktop \
- install_release_embedded_nohdrs install_release_desktop_nohdrs \
- install_kernels \
- cscope tags TAGS \
- help
-
-DEFAULT_TARGET = all
-
-# Targets for internal build system debugging
-TOP_TARGETS += \
- print_exports print_exports_first_build_config \
- setup \
- build \
- config \
- install_textfiles \
- install_config
-
-.PHONY: $(TOP_TARGETS)
-
-default: $(DEFAULT_TARGET)
-
-ifneq ($(REMOTEBUILD),)
-$(TOP_TARGETS):
- $(_v)$(VERSDIR)/tools/remote_build.sh _REMOTEBUILD_TARGET=$@ _REMOTEBUILD_MAKE=$(MAKE) $(if $(filter --,$(MAKEFLAGS)),-,)$(MAKEFLAGS)
-else
-$(TOP_TARGETS):
- $(_v)$(MAKE) $(MAKEARGS) -r $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) -f $(MakeInc_top) $@
-endif
-
-else # CURRENT_BUILD_CONFIG
include $(MakeInc_cmd)
include $(MakeInc_def)
ALL_SUBDIRS = \
- security \
- bsd \
iokit \
osfmk \
+ bsd \
pexpert \
libkern \
- libsa \
- config \
- san
+ libsa
-CONFIG_SUBDIRS = config tools san
-# Hack to handle san external dependency on config_all allsymbols target
-config_all_recurse_into_san: config_all_recurse_into_config
+CONFIG_SUBDIRS = config
INSTINC_SUBDIRS = $(ALL_SUBDIRS) EXTERNAL_HEADERS
-INSTINC_SUBDIRS_X86_64 = $(INSTINC_SUBDIRS)
-INSTINC_SUBDIRS_X86_64H = $(INSTINC_SUBDIRS)
-INSTINC_SUBDIRS_ARM64 = $(INSTINC_SUBDIRS)
+
+INSTINC_SUBDIRS_PPC = $(INSTINC_SUBDIRS) EXTERNAL_HEADERS
+
+INSTINC_SUBDIRS_I386 = $(INSTINC_SUBDIRS) EXTERNAL_HEADERS
EXPINC_SUBDIRS = $(ALL_SUBDIRS)
-EXPINC_SUBDIRS_X86_64 = $(EXPINC_SUBDIRS)
-EXPINC_SUBDIRS_X86_64H = $(EXPINC_SUBDIRS)
-EXPINC_SUBDIRS_ARM64 = $(EXPINC_SUBDIRS)
-SETUP_SUBDIRS = SETUP san bsd
+EXPINC_SUBDIRS_PPC = $(EXPINC_SUBDIRS)
-COMP_SUBDIRS_X86_64 = $(ALL_SUBDIRS)
-COMP_SUBDIRS_X86_64H = $(ALL_SUBDIRS)
-COMP_SUBDIRS_ARM64 = $(ALL_SUBDIRS)
+EXPINC_SUBDIRS_I386 = $(EXPINC_SUBDIRS)
-INSTTEXTFILES_SUBDIRS = \
+COMP_SUBDIRS = $(ALL_SUBDIRS)
+
+
+INST_SUBDIRS = \
+ libkern \
+ libsa \
+ iokit \
+ osfmk \
+ bsd \
+ config
+
+INSTALL_FILE_LIST= \
+ mach_kernel
+
+INSTALL_FILE_DIR= \
+ /
+
+INSTMAN_SUBDIRS = \
bsd
-INSTTEXTFILES_SUBDIRS_X86_64 = $(INSTTEXTFILES_SUBDIRS)
-INSTTEXTFILES_SUBDIRS_X86_64H = $(INSTTEXTFILES_SUBDIRS)
-INSTTEXTFILES_SUBDIRS_ARM64 = $(INSTTEXTFILES_SUBDIRS)
-include $(MakeInc_kernel)
include $(MakeInc_rule)
include $(MakeInc_dir)
-
-endif # CURRENT_BUILD_CONFIG
-
-endif # all other RC_ProjectName
-
-installapi_libkdd installhdrs_libkdd install_libkdd:
- cd libkdd; \
- xcodebuild -target Default $(subst _libkdd,,$@) \
- $(MAKEOVERRIDES) \
- "SRCROOT=$(SRCROOT)/libkdd" \
- "OBJROOT=$(OBJROOT)" \
- "SYMROOT=$(SYMROOT)" \
- "DSTROOT=$(DSTROOT)" \
- "SDKROOT=$(SDKROOT)"
-
-
-installapi_libkdd_tests installhdrs_libkdd_tests install_libkdd_tests:
- cd libkdd; \
- xcodebuild -target tests $(subst _libkdd_tests,,$@) \
- $(MAKEOVERRIDES) \
- "SRCROOT=$(SRCROOT)/libkdd" \
- "OBJROOT=$(OBJROOT)" \
- "SYMROOT=$(SYMROOT)" \
- "DSTROOT=$(DSTROOT)" \
- "SDKROOT=$(SDKROOT)"
-
-
-installapi_libkdd_host installhdrs_libkdd_host install_libkdd_host:
- cd libkdd; \
- xcodebuild -configuration ReleaseHost -target kdd.framework $(subst _libkdd_host,,$@) \
- $(MAKEOVERRIDES) \
- "SRCROOT=$(SRCROOT)/libkdd" \
- "OBJROOT=$(OBJROOT)" \
- "SYMROOT=$(SYMROOT)" \
- "DSTROOT=$(DSTROOT)" \
- "SDKROOT=$(SDKROOT)"
-
-
-# "xnu_tests" and "testbots" are targets that can be invoked via a standalone
-# "make xnu_tests" or via buildit/XBS with the RC_ProjectName=xnu_tests.
-# Define the target here in the outermost scope of the initial Makefile
-
-xnu_tests:
- $(MAKE) -C $(SRCROOT)/tools/tests $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) \
- SRCROOT=$(SRCROOT)/tools/tests
- $(MAKE) -C $(SRCROOT)/tests $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) \
- SRCROOT=$(SRCROOT)/tests
- $(MAKE) -C $(SRCROOT)/tools/lldbmacros/tests $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) \
- SRCROOT=$(SRCROOT)/tools/lldbmacros
-
-xnu_tests_driverkit:
- $(MAKE) -C $(SRCROOT)/tests/driverkit $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) \
- SRCROOT=$(SRCROOT)/tests/driverkit
-
-# Notice when building xnu_unittests target from the main makefile, the executables are
-# created at BUILD/sym, whereas if you run the makefile directly with make -C
-# the executables are created at tests/unit/build/sym
-xnu_unittests:
- $(MAKE) -C $(SRCROOT)/tests/unit $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) \
- SRCROOT=$(SRCROOT)/tests/unit
- $(MAKE) -C $(SRCROOT)/tests $(if $(filter -j,$(MAKEFLAGS)),,$(MAKEJOBS)) sched/install_userspace_unit_tests \
- SRCROOT=$(SRCROOT)/tests
-
-
-include $(MakeInc_cmd)
-
-#
-# The "analyze" target defined below invokes Clang Static Analyzer
-# with a predefined set of checks and options for the project.
-#
-
-# By default, analysis results are available in BUILD/StaticAnalyzer.
-# Set this variable in your make invocation to use a different directory.
-# Note that these results are only deleted when the build directory
-# is cleaned. They aren't deleted every time the analyzer is re-run,
-# but they are deleted after "make clean".
-STATIC_ANALYZER_OUTPUT_DIR ?= $(SRCROOT)/BUILD/StaticAnalyzer
-
-# By default, the default make target is analyzed. You can analyze
-# other targets by setting this variable in your make invocation.
-STATIC_ANALYZER_TARGET ?=
-
-# You can pass additional flags to scan-build by setting this variable
-# in your make invocation. For example, you can enable additional checks.
-STATIC_ANALYZER_EXTRA_FLAGS ?=
-
-analyze:
-# This is where the reports are going to be available.
-# Old reports are deleted on make clean only.
- $(_v)$(MKDIR) $(STATIC_ANALYZER_OUTPUT_DIR)
-
-# Recursively build the requested target under scan-build.
-# Exclude checks that weren't deemed to be security critical,
-# like null pointer dereferences.
- $(_v)$(XCRUN) $(SCAN_BUILD) -o $(STATIC_ANALYZER_OUTPUT_DIR) \
- -disable-checker deadcode.DeadStores \
- -disable-checker core.NullDereference \
- -disable-checker core.DivideZero \
- --exclude BUILD \
- $(STATIC_ANALYZER_EXTRA_FLAGS) \
- $(MAKE) $(STATIC_ANALYZER_TARGET) QUIET=1 2>&1 | $(GREP) "^scan-build:"
-
-.PHONY: analyze
-
-.PHONY: empty
-
-# Add an empty target which is useful for bringing up new build aliases
-# Aliases can be created with this as their target, then later move to their
-# required target in coordination with other aliases
-empty:
- $(_v)$(MKDIR) $(DSTROOT)/AppleInternal