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# CFLAGS 18# 19CFLAGS+= -include meta_features.h -DLIBKERN_KERNEL_PRIVATE -DOSALLOCDEBUG=1 20 21# Objects that don't want -Wcast-align warning (8474835) 22OSKextLib.cpo_CXXWARNFLAGS_ADD = -Wno-cast-align 23OSKext.cpo_CXXWARNFLAGS_ADD = -Wno-cast-align 24OSMetaClass.cpo_CXXWARNFLAGS_ADD = -Wno-cast-align 25OSUnserialize.cpo_CXXWARNFLAGS_ADD = -Wno-cast-align 26corecrypto_md5.o_CWARNFLAGS_ADD = -Wno-cast-align 27corecrypto_sha1.o_CWARNFLAGS_ADD = -Wno-cast-align 28 29# zlib is 3rd party source 30compress.o_CWARNFLAGS_ADD = -Wno-cast-qual 31deflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 32infback.o_CWARNFLAGS_ADD = -Wno-cast-qual 33inffast.o_CWARNFLAGS_ADD = -Wno-cast-qual 34inflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 35trees.o_CWARNFLAGS_ADD = -Wno-cast-qual 36uncompr.o_CWARNFLAGS_ADD = -Wno-cast-qual 37 38# warnings in bison-generated code 39OSUnserializeXML.cpo_CXXWARNFLAGS_ADD = -Wno-uninitialized 40 41# Runtime support functions don't interact well with LTO (9294679) 42stack_protector.o_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG) 43 44# 45# Directories for mig generated files 46# 47COMP_SUBDIRS = 48 49# 50# Make sure we don't remove this by accident if interrupted at the wrong 51# time. 52# 53.PRECIOUS: Makefile 54 55# 56# Theses macros are filled in by the config program depending on the 57# current configuration. The MACHDEP macro is replaced by the 58# contents of the machine dependent makefile template and the others 59# are replaced by the corresponding symbol definitions for the 60# configuration. 61# 62 63%OBJS 64 65%CFILES 66 67%SFILES 68 69%MACHDEP 70 71# 72# Machine-independent per-file flags 73# 74 75# zlib is 3rd party source 76compress.o_CWARNFLAGS_ADD = -Wno-cast-qual 77deflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 78infback.o_CWARNFLAGS_ADD = -Wno-cast-qual 79inffast.o_CWARNFLAGS_ADD = -Wno-cast-qual 80inflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 81trees.o_CWARNFLAGS_ADD = -Wno-cast-qual 82uncompr.o_CWARNFLAGS_ADD = -Wno-cast-qual 83 84# warnings in bison-generated code 85OSUnserializeXML.cpo_CXXWARNFLAGS_ADD = -Wno-uninitialized 86 87# 88# OBJSDEPS is the set of files (defined in the machine dependent 89# template if necessary) which all objects depend on (such as an 90# in-line assembler expansion filter) 91# 92${OBJS}: ${OBJSDEPS} 93 94LDOBJS = $(OBJS) 95 96$(COMPONENT).filelist: $(LDOBJS) 97 $(_v)for hib_file in ${HIB_FILES}; \ 98 do \ 99 $(SEG_HACK) -n __HIB -o $${hib_file}__ $${hib_file} ; \ 100 mv $${hib_file}__ $${hib_file} ; \ 101 done 102 @echo LDFILELIST $(COMPONENT) 103 $(_v)( for obj in ${LDOBJS}; do \ 104 echo $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \ 105 done; ) > $(COMPONENT).filelist 106 107do_all: $(COMPONENT).filelist 108 109do_build_all:: do_all 110 111%RULES 112 113include $(MakeInc_rule) 114include $(MakeInc_dir) 115