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 40OSUnserializeXML.cpo_CXXWARNFLAGS_ADD += -Wno-unreachable-code 41OSUnserialize.cpo_CXXWARNFLAGS_ADD += -Wno-unreachable-code 42 43# Runtime support functions don't interact well with LTO (9294679) 44stack_protector.o_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG) 45 46# 47# Directories for mig generated files 48# 49COMP_SUBDIRS = 50 51# 52# Make sure we don't remove this by accident if interrupted at the wrong 53# time. 54# 55.PRECIOUS: Makefile 56 57# 58# Theses macros are filled in by the config program depending on the 59# current configuration. The MACHDEP macro is replaced by the 60# contents of the machine dependent makefile template and the others 61# are replaced by the corresponding symbol definitions for the 62# configuration. 63# 64 65%OBJS 66 67%CFILES 68 69%CXXFILES 70 71%SFILES 72 73%MACHDEP 74 75# 76# Machine-independent per-file flags 77# 78 79# zlib is 3rd party source 80compress.o_CWARNFLAGS_ADD = -Wno-cast-qual 81deflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 82infback.o_CWARNFLAGS_ADD = -Wno-cast-qual 83inffast.o_CWARNFLAGS_ADD = -Wno-cast-qual 84inflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 85trees.o_CWARNFLAGS_ADD = -Wno-cast-qual 86uncompr.o_CWARNFLAGS_ADD = -Wno-cast-qual 87 88# warnings in bison-generated code 89OSUnserializeXML.cpo_CXXWARNFLAGS_ADD = -Wno-uninitialized 90OSUnserializeXML.cpo_CXXWARNFLAGS_ADD += -Wno-unreachable-code 91OSUnserialize.cpo_CXXWARNFLAGS_ADD += -Wno-unreachable-code 92 93# Rebuild if per-file overrides change 94${OBJS}: $(firstword $(MAKEFILE_LIST)) 95 96# Rebuild if global compile flags change 97$(COBJS): .CFLAGS 98.CFLAGS: ALWAYS 99 $(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS) 100$(CXXOBJS): .CXXFLAGS 101.CXXFLAGS: ALWAYS 102 $(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS) 103$(SOBJS): .SFLAGS 104.SFLAGS: ALWAYS 105 $(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS) 106 107$(COMPONENT).filelist: $(OBJS) 108 $(_v)for hib_file in ${HIB_FILES}; \ 109 do \ 110 $(SEG_HACK) -n __HIB -o $${hib_file}__ $${hib_file} ; \ 111 mv $${hib_file}__ $${hib_file} ; \ 112 done 113 @echo LDFILELIST $(COMPONENT) 114 $(_v)( for obj in ${OBJS}; do \ 115 echo $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \ 116 done; ) > $(COMPONENT).filelist 117 118do_all: $(COMPONENT).filelist 119 120do_build_all:: do_all 121 122%RULES 123 124include $(MakeInc_rule) 125include $(MakeInc_dir) 126