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