X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..d41d1dae2cd00cc08c7982087d1c445180cad9f5:/bsd/conf/Makefile.template diff --git a/bsd/conf/Makefile.template b/bsd/conf/Makefile.template index adcab81bd..fdee45a3e 100644 --- a/bsd/conf/Makefile.template +++ b/bsd/conf/Makefile.template @@ -1,3 +1,25 @@ +# +# Copyright (c) 2000-2004 Apple Computer, 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, +# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +# 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@ +# + # # Mach Operating System # Copyright (c) 1986 Carnegie-Mellon University @@ -10,11 +32,6 @@ # export IDENT -# -# XXX: INCFLAGS -# -INCFLAGS_MAKEFILE= -I$(SOURCE) -I$(SOURCE)include -I$(SOURCE)netat -I$(SOURCE)netat/h -I$(SOURCE)netat/at -I$(SOURCE_DIR) - export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule @@ -26,7 +43,9 @@ include $(MakeInc_def) # # XXX: CFLAGS # -CFLAGS+= -imacros meta_features.h -DARCH_PRIVATE -DKERNEL -DDRIVER_PRIVATE -D_KERNEL_BUILD -DKERNEL_BUILD -DMACH_KERNEL -DBSD_BUILD -DNCPUS=1 -Wno-four-char-constants -fpascal-strings -D__APPLE__ -I. +CFLAGS+= -imacros meta_features.h -DARCH_PRIVATE -DKERNEL -DDRIVER_PRIVATE \ + -D_KERNEL_BUILD -DKERNEL_BUILD -DMACH_KERNEL -DBSD_BUILD \ + -DBSD_KERNEL_PRIVATE -DLP64KERN=1 -DLP64_DEBUG=0 -I. $(CFLAGS_INLINE_CONFIG) # # Directories for mig generated files @@ -39,14 +58,6 @@ COMP_SUBDIRS = # .PRECIOUS: Makefile -VERSION_FILES= \ - $(SOURCE_DIR)/$(COMPONENT)/conf/version.major \ - $(SOURCE_DIR)/$(COMPONENT)/conf/version.minor \ - $(SOURCE_DIR)/$(COMPONENT)/conf/version.variant - -COPYRIGHT_FILES = \ - $(SOURCE_DIR)/$(COMPONENT)/conf/copyright - # # Theses macros are filled in by the config program depending on the # current configuration. The MACHDEP macro is replaced by the @@ -68,6 +79,13 @@ COPYRIGHT_FILES = \ %ORDERED %MACHDEP +# +# This rule insures that the subr_prof.c does NOT get compiled with +# profiling. It implements mcount() and profiling it leads to recursion. +# + +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 @@ -81,25 +99,33 @@ ${OBJS}: ${OBJSDEPS} LDOBJS = $(OBJS) $(COMPONENT).o: $(LDOBJS) - @echo "[ creating $(COMPONENT).o ]" - $(RM) $(RMFLAGS) vers.c - $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/newvers \ - `$(CAT) ${VERSION_FILES}` ${COPYRIGHT_FILES} - ${KCC} $(CFLAGS) $(INCLUDES) -c vers.c - @echo [ updating $(COMPONENT).o ${BSD_KERNEL_CONFIG} ] - $(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS} vers.o + @echo LDFILELIST $(COMPONENT) + $(_v)( for obj in ${LDOBJS}; do \ + echo $(TARGET)$(COMP_OBJ_DIR)/$(KERNEL_CONFIG)/$${obj}; \ + done; ) > $(COMPONENT).o + +MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh + +init_sysent.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) + @echo "Generating $@ from $<"; + $(_v)$(MAKESYSCALLS) $< table > /dev/null + +syscalls.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) + @echo "Generating $@ from $<"; + $(_v)$(MAKESYSCALLS) $< names > /dev/null + +audit_kevents.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) + @echo "Generating $@ from $<"; + $(_v)$(MAKESYSCALLS) $< audit > /dev/null do_depend: do_all - ${MD} -u Makedep -f -d `ls *.d`; - + $(_v)${MD} -u Makedep -f -d `ls *.d`; + do_all: $(COMPONENT).o do_build_all: do_depend %RULES --include Makedep - include $(MakeInc_rule) include $(MakeInc_dir) -