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 8# 9# Export IDENT for sub-makefiles 10# 11export IDENT 12 13# 14# INCFLAGS 15# 16INCFLAGS_MAKEFILE= 17 18export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd 19export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def 20export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule 21export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir 22 23include $(MakeInc_cmd) 24include $(MakeInc_def) 25 26# 27# CFLAGS 28# 29CFLAGS+= -include meta_features.h -DLIBKERN_KERNEL_PRIVATE -DOSALLOCDEBUG=1 \ 30 $(CFLAGS_INLINE_CONFIG) 31 32# zlib is 3rd party source 33compress.o_CWARNFLAGS_ADD = -Wno-cast-qual 34deflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 35infback.o_CWARNFLAGS_ADD = -Wno-cast-qual 36inffast.o_CWARNFLAGS_ADD = -Wno-cast-qual 37inflate.o_CWARNFLAGS_ADD = -Wno-cast-qual 38trees.o_CWARNFLAGS_ADD = -Wno-cast-qual 39uncompr.o_CWARNFLAGS_ADD = -Wno-cast-qual 40 41# warnings in bison-generated code 42OSUnserializeXML.cpo_CXXWARNFLAGS_ADD = -Wno-uninitialized 43 44# Runtime support functions don't interact well with LTO (9294679) 45stack_protector.o_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG) 46 47# 48# Directories for mig generated files 49# 50COMP_SUBDIRS = 51 52# 53# Make sure we don't remove this by accident if interrupted at the wrong 54# time. 55# 56.PRECIOUS: Makefile 57 58# 59# Theses macros are filled in by the config program depending on the 60# current configuration. The MACHDEP macro is replaced by the 61# contents of the machine dependent makefile template and the others 62# are replaced by the corresponding symbol definitions for the 63# configuration. 64# 65 66%OBJS 67 68%CFILES 69 70%MFILES 71 72%SFILES 73 74%BFILES 75 76%ORDERED 77%MACHDEP 78 79# 80# OBJSDEPS is the set of files (defined in the machine dependent 81# template if necessary) which all objects depend on (such as an 82# in-line assembler expansion filter) 83# 84${OBJS}: ${OBJSDEPS} 85 86 87%LOAD 88 89LDOBJS = $(OBJS) 90 91$(COMPONENT).filelist: $(LDOBJS) 92 $(_v)if [ $(BUILD_MACHO_OBJ) -eq 1 ]; then \ 93 for hib_file in ${HIB_FILES}; \ 94 do \ 95 $(SEG_HACK) __HIB $${hib_file} -o $${hib_file}__; \ 96 mv $${hib_file}__ $${hib_file} ; \ 97 done; \ 98 fi 99 @echo LDFILELIST $(COMPONENT) 100 $(_v)( for obj in ${LDOBJS}; do \ 101 echo $(TARGET)$(COMP_OBJ_DIR)/$(KERNEL_CONFIG)/$${obj}; \ 102 done; ) > $(COMPONENT).filelist 103 104do_all: $(COMPONENT).filelist 105 106do_depend: do_all 107 $(_v)${MD} -u Makedep -f -d `ls *.d` 108 109do_build_all: do_depend 110 111%RULES 112 113include $(MakeInc_rule) 114include $(MakeInc_dir) 115