1# 2# Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved. 3# 4# @APPLE_LICENSE_HEADER_START@ 5# 6# The contents of this file constitute Original Code as defined in and 7# are subject to the Apple Public Source License Version 1.1 (the 8# "License"). You may not use this file except in compliance with the 9# License. Please obtain a copy of the License at 10# http://www.apple.com/publicsource and read it before using this file. 11# 12# This Original Code and all software distributed under the License are 13# distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 14# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 16# FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the 17# License for the specific language governing rights and limitations 18# under the License. 19# 20# @APPLE_LICENSE_HEADER_END@ 21# 22 23# 24# Mach Operating System 25# Copyright (c) 1986 Carnegie-Mellon University 26# All rights reserved. The CMU software License Agreement specifies 27# the terms and conditions for use and redistribution. 28# 29 30# 31# Export IDENT for sub-makefiles 32# 33export IDENT 34 35export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd 36export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def 37export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule 38export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir 39 40include $(MakeInc_cmd) 41include $(MakeInc_def) 42 43# 44# XXX: CFLAGS 45# 46CFLAGS+= -imacros meta_features.h -DARCH_PRIVATE -DKERNEL -DDRIVER_PRIVATE \ 47 -D_KERNEL_BUILD -DKERNEL_BUILD -DMACH_KERNEL -DBSD_BUILD \ 48 -DBSD_KERNEL_PRIVATE -DNCPUS=1 -Wno-four-char-constants -fpascal-strings \ 49 -D__APPLE__ -DLP64KERN=1 -DLP64_DEBUG=0 -I. $(CFLAGS_INLINE_CONFIG) 50 51# XXX: ld flags for bsd.o 52export LDFLAGS_COMPONENT += -keep_private_externs 53 54# 55# Directories for mig generated files 56# 57COMP_SUBDIRS = 58 59# 60# Make sure we don't remove this by accident if interrupted at the wrong 61# time. 62# 63.PRECIOUS: Makefile 64 65# 66# Theses macros are filled in by the config program depending on the 67# current configuration. The MACHDEP macro is replaced by the 68# contents of the machine dependent makefile template and the others 69# are replaced by the corresponding symbol definitions for the 70# configuration. 71# 72 73%OBJS 74 75%CFILES 76 77%MFILES 78 79%SFILES 80 81%BFILES 82 83%ORDERED 84%MACHDEP 85 86# 87# This rule insures that the subr_prof.c does NOT get compiled with 88# profiling. It implements mcount() and profiling it leads to recursion. 89# 90 91subr_prof.o_CFLAGS_RM = -pg 92 93# 94# OBJSDEPS is the set of files (defined in the machine dependent 95# template if necessary) which all objects depend on (such as an 96# in-line assembler expansion filter) 97# 98${OBJS}: ${OBJSDEPS} 99 100 101%LOAD 102 103LDOBJS = $(OBJS) 104 105$(COMPONENT).o: $(LDOBJS) 106 @echo LD $(COMPONENT) 107 $(_v)$(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS} 108 109do_depend: do_all 110 $(_v)${MD} -u Makedep -f -d `ls *.d`; 111 112do_all: $(COMPONENT).o 113 114do_build_all: do_depend 115 116%RULES 117 118include $(MakeInc_rule) 119include $(MakeInc_dir) 120