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# XXX: INCFLAGS 15# 16INCFLAGS_MAKEFILE= $(INCFLAGS_POSIX) -I$(SOURCE) -I$(SOURCE)include 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# XXX: CFLAGS 28# 29CFLAGS+= -include meta_features.h -DDRIVER_PRIVATE \ 30 -DIOMATCHDEBUG=1 -DIOALLOCDEBUG=1 \ 31 -include meta_features.h $(CFLAGS_INLINE_CONFIG) 32#-DIOKITDEBUG=-1 33 34CWARNFLAGS = $(CWARNFLAGS_STD) -Wno-unused-parameter 35CXXWARNFLAGS = $(CXXWARNFLAGS_STD) -Wno-unused-parameter -Wno-cast-qual -Wno-shadow 36 37CFLAGS_RELEASE += -DIOASSERT=0 38CFLAGS_DEBUG += -DIOASSERT=1 39 40SFLAGS+= -DKERNEL 41 42# 43# Directories for mig generated files 44# 45COMP_SUBDIRS = 46 47# 48# Make sure we don't remove this by accident if interrupted at the wrong 49# time. 50# 51.PRECIOUS: Makefile 52 53# 54# Theses macros are filled in by the config program depending on the 55# current configuration. The MACHDEP macro is replaced by the 56# contents of the machine dependent makefile template and the others 57# are replaced by the corresponding symbol definitions for the 58# configuration. 59# 60 61%OBJS 62 63%CFILES 64 65%MFILES 66 67%SFILES 68 69%BFILES 70 71%ORDERED 72%MACHDEP 73 74# 75# OBJSDEPS is the set of files (defined in the machine dependent 76# template if necessary) which all objects depend on (such as an 77# in-line assembler expansion filter) 78# 79${OBJS}: ${OBJSDEPS} 80 81 82%LOAD 83 84LDOBJS = $(OBJS) 85 86$(COMPONENT).filelist: $(LDOBJS) 87 $(_v)if [ $(BUILD_MACHO_OBJ) -eq 1 ]; then \ 88 for hib_file in ${HIB_FILES}; \ 89 do \ 90 $(SEG_HACK) __HIB $${hib_file} -o $${hib_file}__; \ 91 mv $${hib_file}__ $${hib_file} ; \ 92 done; \ 93 fi 94 @echo LDFILELIST $(COMPONENT) 95 $(_v)( for obj in ${LDOBJS}; do \ 96 echo $(TARGET)$(COMP_OBJ_DIR)/$(KERNEL_CONFIG)/$${obj}; \ 97 done; ) > $(COMPONENT).filelist 98 99do_depend: do_all 100 $(_v)${MD} -u Makedep -f -d `ls *.d` 101 102 103do_all: $(COMPONENT).filelist 104 105do_build_all: do_depend 106 107%RULES 108 109include $(MakeInc_rule) 110include $(MakeInc_dir) 111