1export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd 2export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def 3export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule 4export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir 5 6include $(MakeInc_cmd) 7include $(MakeInc_def) 8 9MIG_TYPES = \ 10 default_pager_types.defs 11 12MIG_DEFS = \ 13 default_pager_alerts.defs 14 15MIG_USHDRS = \ 16 17MIG_UUHDRS = \ 18 default_pager_object.h 19 20 21MIGINCLUDES = ${MIG_UUHDRS} ${MIG_USHDRS} 22 23DATAFILES = \ 24 default_pager_types.h \ 25 ${MIG_DEFS} 26 27INSTALL_MI_LIST = ${DATAFILES} 28 29INSTALL_MI_GEN_LIST = ${MIGINCLUDES} 30 31INSTALL_MI_DIR = default_pager 32 33EXPORT_MI_LIST = \ 34 ${DATAFILES} 35 36EXPORT_MI_GEN_LIST = \ 37 ${MIGINCLUDES} 38 39EXPORT_MI_DIR = default_pager 40 41${MIGINCLUDES} : ${MIG_TYPES} 42 43${MIG_UUHDRS} : \ 44 %.h : %.defs 45 @echo MIG $@ 46 $(_v)$(MIG) $(MIGFLAGS) \ 47 -server /dev/null \ 48 -user /dev/null \ 49 -header $@ \ 50 $< 51 52${MIG_USHDRS} : \ 53 %_server.h : %.defs 54 @echo MIG $@ 55 $(_v)$(MIG) $(MIGFLAGS) \ 56 -server /dev/null \ 57 -user /dev/null \ 58 -header /dev/null \ 59 -sheader $@ \ 60 $< 61 62# 63# Build path 64# 65INCFLAGS_MAKEFILE= -I.. 66 67MIGKSFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_SERVER=1 68MIGKUFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_USER=1 -maxonstack 1024 69 70# 71# MIG-generated headers that are traditionally used by kernel 72# level code. 73# 74MIG_KUHDRS = \ 75 default_pager_alerts.h 76 77MIG_KUSRC = \ 78 default_pager_alerts_user.c 79 80MIG_KSHDRS = \ 81 default_pager_object.h 82 83MIG_KSSRC = \ 84 default_pager_object_server.c 85 86# 87# JMM - 88# Since there are two generated header files with the same name, one for 89# install and export, the other for internal use (and they are different) 90# we can't explicitly list two rules for the same target. So rules for 91# generating internal headers will be handled implicitly by creating rules 92# to generate the internal C sources, and the headers get created as a 93# side-effect. 94# 95# This is all temporary scaffolding, as we are moving to a model where 96# the MIG-generated code is identical in all environments. At first, it 97# will contain some environment-specific ifdefs, but over time should not 98# even require that as we move towards making all the environments look 99# the same. 100# 101COMP_FILES = ${MIG_KUSRC} ${MIG_KSSRC} 102 103do_build_all:: $(COMP_FILES) 104 105${COMP_FILES} : ${MIG_TYPES} 106 107${MIG_KUSRC} : \ 108 %_user.c : %.defs 109 @echo MIG $@ 110 $(_v)${MIG} ${MIGFLAGS} ${MIGKUFLAGS} \ 111 -user $*_user.c \ 112 -header $*.h \ 113 -server /dev/null \ 114 -sheader /dev/null \ 115 $< 116 117${MIG_KSSRC}: \ 118 %_server.c : %.defs 119 @echo MIG $@ 120 $(_v)${MIG} ${MIGFLAGS} ${MIGKSFLAGS} \ 121 -user /dev/null \ 122 -header /dev/null \ 123 -server $*_server.c \ 124 -sheader $*_server.h \ 125 $< 126 127include $(MakeInc_rule) 128include $(MakeInc_dir) 129