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 $(MIG) $(MIGFLAGS) \ 51 -server /dev/null \ 52 -user /dev/null \ 53 -header $@ \ 54 $< 55 56.ORDER: ${MIG_USHDRS} 57 58${MIG_USHDRS} : \ 59 %_server.h : %.defs 60 $(MIG) $(MIGFLAGS) \ 61 -server /dev/null \ 62 -user /dev/null \ 63 -header /dev/null \ 64 -sheader $@ \ 65 $< 66 67# 68# Build path 69# 70INCFLAGS_MAKEFILE= -I.. 71 72MIGKSFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_SERVER=1 73MIGKUFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_USER=1 -maxonstack 1024 74 75# 76# MIG-generated headers that are traditionally used by kernel 77# level code. 78# 79MIG_KUHDRS = \ 80 default_pager_alerts.h 81 82MIG_KUSRC = \ 83 default_pager_alerts_user.c 84 85MIG_KSHDRS = \ 86 default_pager_object.h 87 88MIG_KSSRC = \ 89 default_pager_object_server.c 90 91# 92# JMM - 93# Since there are two generated header files with the same name, one for 94# install and export, the other for internal use (and they are different) 95# we can't explicitly list two rules for the same target. So rules for 96# generating internal headers will be handled implicitly by creating rules 97# to generate the internal C sources, and the headers get created as a 98# side-effect. 99# 100# This is all temporary scaffolding, as we are moving to a model where 101# the MIG-generated code is identical in all environments. At first, it 102# will contain some environment-specific ifdefs, but over time should not 103# even require that as we move towards making all the environments look 104# the same. 105# 106COMP_FILES = ${MIG_KUSRC} ${MIG_KSSRC} 107 108${COMP_FILES} : ${MIG_TYPES} 109 110.ORDER: ${MIG_KUSRC} 111 112${MIG_KUSRC} : \ 113 %_user.c : %.defs 114 ${MIG} ${MIGFLAGS} ${MIGKUFLAGS} \ 115 -user $*_user.c \ 116 -header $*.h \ 117 -server /dev/null \ 118 -sheader /dev/null \ 119 $< 120 121.ORDER: ${MIG_KSSRC} 122 123${MIG_KSSRC}: \ 124 %_server.c : %.defs 125 ${MIG} ${MIGFLAGS} ${MIGKSFLAGS} \ 126 -user /dev/null \ 127 -header /dev/null \ 128 -server $*_server.c \ 129 -sheader $*_server.h \ 130 $< 131 132 133include $(MakeInc_rule) 134include $(MakeInc_dir) 135

