]>
Commit | Line | Data |
---|---|---|
1c79356b A |
1 | export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd |
2 | export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def | |
3 | export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule | |
4 | export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir | |
5 | ||
6 | ||
7 | include $(MakeInc_cmd) | |
8 | include $(MakeInc_def) | |
9 | ||
10 | MIG_TYPES = \ | |
11 | default_pager_types.defs | |
12 | ||
13 | MIG_DEFS = \ | |
14 | default_pager_alerts.defs | |
15 | ||
16 | MIG_USHDRS = \ | |
17 | ||
18 | MIG_UUHDRS = \ | |
91447636 | 19 | default_pager_object.h |
1c79356b A |
20 | |
21 | ||
22 | MIGINCLUDES = ${MIG_UUHDRS} ${MIG_USHDRS} | |
23 | ||
24 | DATAFILES = \ | |
25 | default_pager_types.h \ | |
26 | ${MIG_DEFS} | |
27 | ||
28 | INSTALL_MI_LIST = ${DATAFILES} | |
29 | ||
30 | INSTALL_MI_GEN_LIST = ${MIGINCLUDES} | |
31 | ||
32 | INSTALL_MI_DIR = default_pager | |
33 | ||
34 | EXPORT_MI_LIST = \ | |
35 | ${DATAFILES} | |
36 | ||
37 | EXPORT_MI_GEN_LIST = \ | |
38 | ${MIGINCLUDES} | |
39 | ||
40 | EXPORT_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 | |
2d21ac55 A |
50 | @echo MIG $@ |
51 | $(_v)$(MIG) $(MIGFLAGS) \ | |
1c79356b A |
52 | -server /dev/null \ |
53 | -user /dev/null \ | |
54 | -header $@ \ | |
55 | $< | |
56 | ||
57 | .ORDER: ${MIG_USHDRS} | |
58 | ||
59 | ${MIG_USHDRS} : \ | |
60 | %_server.h : %.defs | |
2d21ac55 A |
61 | @echo MIG $@ |
62 | $(_v)$(MIG) $(MIGFLAGS) \ | |
1c79356b A |
63 | -server /dev/null \ |
64 | -user /dev/null \ | |
65 | -header /dev/null \ | |
66 | -sheader $@ \ | |
67 | $< | |
68 | ||
69 | # | |
70 | # Build path | |
71 | # | |
72 | INCFLAGS_MAKEFILE= -I.. | |
73 | ||
74 | MIGKSFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_SERVER=1 | |
75 | MIGKUFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_USER=1 -maxonstack 1024 | |
76 | ||
77 | # | |
78 | # MIG-generated headers that are traditionally used by kernel | |
79 | # level code. | |
80 | # | |
81 | MIG_KUHDRS = \ | |
82 | default_pager_alerts.h | |
83 | ||
84 | MIG_KUSRC = \ | |
85 | default_pager_alerts_user.c | |
86 | ||
87 | MIG_KSHDRS = \ | |
88 | default_pager_object.h | |
89 | ||
90 | MIG_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 | # | |
108 | COMP_FILES = ${MIG_KUSRC} ${MIG_KSSRC} | |
109 | ||
110 | ${COMP_FILES} : ${MIG_TYPES} | |
111 | ||
112 | .ORDER: ${MIG_KUSRC} | |
113 | ||
114 | ${MIG_KUSRC} : \ | |
115 | %_user.c : %.defs | |
2d21ac55 A |
116 | @echo MIG $@ |
117 | $(_v)${MIG} ${MIGFLAGS} ${MIGKUFLAGS} \ | |
1c79356b A |
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 | |
2d21ac55 A |
128 | @echo MIG $@ |
129 | $(_v)${MIG} ${MIGFLAGS} ${MIGKSFLAGS} \ | |
1c79356b A |
130 | -user /dev/null \ |
131 | -header /dev/null \ | |
132 | -server $*_server.c \ | |
133 | -sheader $*_server.h \ | |
134 | $< | |
135 | ||
136 | ||
137 | include $(MakeInc_rule) | |
138 | include $(MakeInc_dir) |