]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/conf/Makefile.template
xnu-3789.1.32.tar.gz
[apple/xnu.git] / bsd / conf / Makefile.template
index 5c10a56572ae13a72be01acfef540ba81af2aad7..d6bb6100449bc58bf5915ac56f3e34c84fb1b846 100644 (file)
@@ -1,14 +1,14 @@
 #
-# Copyright (c) 2000-2011 Apple Inc. All rights reserved.
+# Copyright (c) 2000-2016 Apple Inc. All rights reserved.
 #
 # @APPLE_LICENSE_HEADER_START@
-# 
+#
 # The contents of this file constitute Original Code as defined in and
 # are subject to the Apple Public Source License Version 1.1 (the
 # "License").  You may not use this file except in compliance with the
 # License.  Please obtain a copy of the License at
 # http://www.apple.com/publicsource and read it before using this file.
-# 
+#
 # This Original Code and all software distributed under the License are
 # distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 # EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
@@ -16,7 +16,7 @@
 # FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
 # License for the specific language governing rights and limitations
 # under the License.
-# 
+#
 # @APPLE_LICENSE_HEADER_END@
 #
 
@@ -45,7 +45,7 @@ CFLAGS+= -include meta_features.h -DDRIVER_PRIVATE \
 #
 # Directories for mig generated files
 #
-COMP_SUBDIRS = 
+COMP_SUBDIRS =
 
 #
 #  Make sure we don't remove this by accident if interrupted at the wrong
@@ -65,6 +65,8 @@ COMP_SUBDIRS =
 
 %CFILES
 
+%CXXFILES
+
 %SFILES
 
 %MACHDEP
@@ -80,6 +82,8 @@ vm_unix.o_CFLAGS_ADD                  += -Wshorten-64-to-32
 pthread_synch.o_CFLAGS_ADD             += -Wno-unused-parameter -Wno-missing-prototypes
 pthread_support.o_CFLAGS_ADD           += -Wno-unused-parameter -Wno-missing-prototypes
 
+ip_icmp.o_CFLFAGS_ADD          += -O0
+
 # Objects that don't want -Wsign-compare
 OBJS_NO_SIGN_COMPARE =         \
                radix.o \
@@ -95,9 +99,9 @@ OBJS_NO_SIGN_COMPARE =                \
                ip_fw2_compat.o \
                ip_icmp.o       \
                ip_input.o      \
-               ip_mroute.o     \
                ip_output.o     \
                raw_ip.o        \
+               tcp_cache.o     \
                tcp_input.o     \
                tcp_output.o    \
                tcp_subr.o      \
@@ -122,7 +126,6 @@ OBJS_NO_SIGN_COMPARE =              \
                ip6_forward.o   \
                in6_ifattach.o  \
                ip6_input.o     \
-               ip6_mroute.o    \
                ip6_output.o    \
                ipcomp_input.o  \
                ipcomp_output.o \
@@ -149,13 +152,6 @@ $(foreach file,$(OBJS_NO_SIGN_COMPARE),$(eval $(call add_perfile_cflags,$(file),
 
 # Objects that don't want -Wcast-align warning (8474835)
 OBJS_NO_CAST_ALIGN =                   \
-               BTree.o                 \
-               BTreeAllocate.o         \
-               BTreeMiscOps.o          \
-               BTreeNodeOps.o          \
-               BTreeScanner.o          \
-               BTreeTreeOps.o          \
-               CatalogUtilities.o      \
                audit_bsm_token.o       \
                audit_pipe.o            \
                audit_session.o         \
@@ -166,20 +162,6 @@ OBJS_NO_CAST_ALIGN =                       \
                fasttrap_isa.o          \
                fbt_arm.o               \
                fbt_x86.o               \
-               fips_sha1.o             \
-               hfs_attrlist.o          \
-               hfs_btreeio.o           \
-               hfs_catalog.o           \
-               hfs_cnode.o             \
-               hfs_endian.o            \
-               hfs_hotfiles.o          \
-               hfs_link.o              \
-               hfs_quota.o             \
-               hfs_readwrite.o         \
-               hfs_search.o            \
-               hfs_vfsops.o            \
-               hfs_vnops.o             \
-               hfs_xattr.o             \
                if_bond.o               \
                ip6_fw.o                \
                ip_dummynet.o           \
@@ -208,9 +190,7 @@ OBJS_NO_CAST_ALIGN =                        \
                proc_info.o             \
                pthread_synch.o         \
                qsort.o                 \
-               randomdev.o             \
                sdt.o                   \
-                sha1mod.o               \
                shadow.o                \
                spec_vnops.o            \
                subr_log.o              \
@@ -222,15 +202,14 @@ OBJS_NO_CAST_ALIGN =                      \
                tcp_lro.o               \
                tty.o                   \
                tty_compat.o            \
+               tty_dev.o               \
                tty_ptmx.o              \
                tty_pty.o               \
                ubc_subr.o              \
                uipc_usrreq.o           \
                vfs_attrlist.o          \
                vfs_fsevents.o          \
-               vfs_journal.o           \
                vfs_lookup.o            \
-               vfs_subr.o              \
                vfs_syscalls.o          \
                vfs_utfconv.o           \
                vfs_vnops.o             \
@@ -239,7 +218,9 @@ OBJS_NO_CAST_ALIGN =                        \
                munge.o                 \
                aes.o                   \
                aeskey.o                \
-               sdt_arm.o
+               sdt_arm.o               \
+               uipc_mbuf.o             \
+               kern_guarded.o
 
 $(foreach file,$(OBJS_NO_CAST_ALIGN),$(eval $(call add_perfile_cflags,$(file),-Wno-cast-align)))
 
@@ -250,33 +231,38 @@ $(foreach file,$(OBJS_NO_CAST_ALIGN),$(eval $(call add_perfile_cflags,$(file),-W
 
 subr_prof.o_CFLAGS_RM = -pg
 
-#
-#  OBJSDEPS is the set of files (defined in the machine dependent
-#  template if necessary) which all objects depend on (such as an
-#  in-line assembler expansion filter)
-#
-${OBJS}: ${OBJSDEPS}
+# Rebuild if per-file overrides change
+${OBJS}: $(firstword $(MAKEFILE_LIST))
 
-LDOBJS = $(OBJS)
+# Rebuild if global compile flags change
+$(COBJS): .CFLAGS
+.CFLAGS: ALWAYS
+       $(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS)
+$(CXXOBJS): .CXXFLAGS
+.CXXFLAGS: ALWAYS
+       $(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS)
+$(SOBJS): .SFLAGS
+.SFLAGS: ALWAYS
+       $(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS)
 
-$(COMPONENT).filelist: $(LDOBJS) 
-       @echo LDFILELIST $(COMPONENT)
-       $(_v)( for obj in ${LDOBJS}; do \
+$(COMPONENT).filelist: $(OBJS)
+       @echo "$(ColorL)LDFILELIST$(Color0) $(ColorLF)$(COMPONENT)$(Color0)"
+       $(_v)for obj in ${OBJS}; do     \
                 echo $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \
-       done; ) > $(COMPONENT).filelist
+       done > $(COMPONENT).filelist
 
 MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh
 
 init_sysent.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
-       @echo "Generating $@ from $<";
+       @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)$@$(Color0) from $(ColorF)$<$(Color0)";
        $(_v)$(MAKESYSCALLS) $< table > /dev/null
 
 syscalls.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
-       @echo "Generating $@ from $<";
+       @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)$@$(Color0) from $(ColorF)$<$(Color0)";
        $(_v)$(MAKESYSCALLS) $< names > /dev/null
 
 audit_kevents.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
-       @echo "Generating $@ from $<";
+       @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)$@$(Color0) from $(ColorF)$<$(Color0)";
        $(_v)$(MAKESYSCALLS) $< audit > /dev/null
 
 do_all: $(COMPONENT).filelist