]> git.saurik.com Git - apple/xnu.git/blob - osfmk/default_pager/Makefile
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / default_pager / Makefile
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 include $(MakeInc_cmd)
7 include $(MakeInc_def)
8
9 MIG_TYPES = \
10 default_pager_types.defs
11
12 MIG_DEFS = \
13 default_pager_alerts.defs
14
15 MIG_USHDRS = \
16
17 MIG_UUHDRS = \
18 default_pager_object.h
19
20
21 MIGINCLUDES = ${MIG_UUHDRS} ${MIG_USHDRS}
22
23 DATAFILES = \
24 default_pager_types.h \
25 ${MIG_DEFS}
26
27 INSTALL_MI_LIST = ${DATAFILES}
28
29 INSTALL_MI_GEN_LIST = ${MIGINCLUDES}
30
31 INSTALL_MI_DIR = default_pager
32
33 EXPORT_MI_LIST = \
34 ${DATAFILES}
35
36 EXPORT_MI_GEN_LIST = \
37 ${MIGINCLUDES}
38
39 EXPORT_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 #
65 INCFLAGS_MAKEFILE= -I..
66
67 MIGKSFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_SERVER=1
68 MIGKUFLAGS = -DMACH_KERNEL_PRIVATE -DKERNEL_USER=1 -maxonstack 1024
69
70 #
71 # MIG-generated headers that are traditionally used by kernel
72 # level code.
73 #
74 MIG_KUHDRS = \
75 default_pager_alerts.h
76
77 MIG_KUSRC = \
78 default_pager_alerts_user.c
79
80 MIG_KSHDRS = \
81 default_pager_object.h
82
83 MIG_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 #
101 COMP_FILES = ${MIG_KUSRC} ${MIG_KSSRC}
102
103 do_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
127 include $(MakeInc_rule)
128 include $(MakeInc_dir)