1# 2# Mach Operating System 3# Copyright (c) 1986 Carnegie-Mellon University 4# All rights reserved. The CMU software License Agreement specifies 5# the terms and conditions for use and redistribution. 6# 7 8export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd 9export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def 10export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule 11export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir 12 13include $(MakeInc_cmd) 14include $(MakeInc_def) 15 16# 17# XXX: CFLAGS 18# 19CFLAGS+= -include meta_features.h -DBSD_KERNEL_PRIVATE 20SFLAGS+= -include meta_features.h 21 22# 23# INCFLAGS to include security prototypes 24# 25INCFLAGS_MAKEFILE= -I$(SOURCE)/.. 26 27# 28# Directories for mig generated files 29# 30COMP_SUBDIRS = 31 32# 33# Make sure we don't remove this by accident if interrupted at the wrong 34# time. 35# 36.PRECIOUS: Makefile 37 38# 39# Theses macros are filled in by the config program depending on the 40# current configuration. The MACHDEP macro is replaced by the 41# contents of the machine dependent makefile template and the others 42# are replaced by the corresponding symbol definitions for the 43# configuration. 44# 45 46%OBJS 47 48%LIBOBJS 49 50%CFILES 51 52%CXXFILES 53 54%SFILES 55 56%MACHDEP 57 58# 59# Diagnostic opt-outs. We need to make this list empty. 60# 61# DO NOT ADD MORE HERE. 62# 63# -Wno-cast-align 64mac_base.o_CWARNFLAGS_ADD += -Wno-cast-align 65# -Wno-shorten-64-to-32 66mac_audit.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32 67mac_base.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32 68mac_process.o_CWARNFLAGS_ADD += -Wno-shorten-64-to-32 69# -Wno-sign-conversion 70mac_base.o_CWARNFLAGS_ADD += -Wno-sign-conversion 71mac_mach.o_CWARNFLAGS_ADD += -Wno-sign-conversion 72mac_vfs.o_CWARNFLAGS_ADD += -Wno-sign-conversion 73mac_vfs_subr.o_CWARNFLAGS_ADD += -Wno-sign-conversion 74 75# Rebuild if per-file overrides change 76${OBJS}: $(firstword $(MAKEFILE_LIST)) 77 78# Rebuild if global compile flags change 79$(COBJS): .CFLAGS 80.CFLAGS: ALWAYS 81 $(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS) 82$(CXXOBJS): .CXXFLAGS 83.CXXFLAGS: ALWAYS 84 $(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS) 85$(SOBJS): .SFLAGS 86.SFLAGS: ALWAYS 87 $(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS) 88 89$(COMPONENT).filelist: $(OBJS) 90 @$(LOG_LDFILELIST) "$(COMPONENT)" 91 $(_v)for obj in ${OBJS}; do \ 92 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \ 93 done > $(COMPONENT).filelist 94 95$(COMPONENT).libfilelist: $(LIBOBJS) 96 @$(LOG_LDFILELIST) "lib$(COMPONENT)" 97 $(_v)for obj in ${LIBOBJS}; do \ 98 $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \ 99 done > $(COMPONENT).libfilelist 100 101ifeq ($(RC_ProjectName),xnu_libraries) 102do_all: $(COMPONENT).libfilelist 103else 104do_all: $(COMPONENT).filelist 105endif 106 107do_build_all:: do_all 108 109%RULES 110 111include $(MakeInc_rule) 112include $(MakeInc_dir) 113