]> git.saurik.com Git - apple/xnu.git/blob - bsd/sys/Makefile
xnu-3789.41.3.tar.gz
[apple/xnu.git] / bsd / sys / 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 INSTINC_SUBDIRS = \
10 _types
11
12 EXPINC_SUBDIRS = \
13 _types
14
15 # Installs header file for user level -
16 # $(DSTROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
17 # $(DSTROOT)/usr/include/
18 DATAFILES = \
19 appleapiopts.h acct.h aio.h attr.h \
20 buf.h cdefs.h clonefile.h conf.h \
21 dir.h dirent.h disk.h dkstat.h dtrace.h dtrace_glue.h dtrace_impl.h \
22 errno.h ev.h event.h fasttrap.h fasttrap_isa.h fcntl.h file.h filedesc.h filio.h gmon.h \
23 ioccom.h ioctl.h \
24 ioctl_compat.h ipc.h kernel.h kernel_types.h kern_event.h lctx.h loadable_fs.h lock.h lockf.h \
25 kauth.h kdebug.h kdebug_signpost.h kern_control.h lockstat.h malloc.h \
26 mbuf.h mman.h mount.h msg.h msgbuf.h netport.h param.h paths.h pipe.h poll.h \
27 proc.h proc_info.h ptrace.h queue.h quota.h reboot.h resource.h resourcevar.h \
28 sbuf.h posix_sem.h posix_shm.h random.h sdt.h\
29 select.h sem.h semaphore.h shm.h signal.h signalvar.h socket.h socketvar.h sockio.h stat.h stdio.h \
30 sysctl.h syslimits.h syslog.h sys_domain.h termios.h time.h \
31 timeb.h times.h tprintf.h trace.h tty.h ttychars.h ttycom.h \
32 ttydefaults.h ttydev.h types.h ubc.h ucontext.h ucred.h uio.h un.h unistd.h unpcb.h \
33 user.h utfconv.h utsname.h vadvise.h vcmd.h \
34 vm.h vmmeter.h vmparam.h vnioctl.h vnode.h vnode_if.h vstat.h wait.h xattr.h \
35 _select.h _structs.h _types.h _endian.h domain.h protosw.h \
36 spawn.h
37
38 # Installs header file for Apple internal use in user level -
39 # $(DSTROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
40 PRIVATE_DATAFILES = \
41 attr.h \
42 cdefs.h \
43 clonefile.h \
44 coalition.h \
45 codesign.h \
46 content_protection.h \
47 csr.h \
48 decmpfs.h \
49 disk.h \
50 disklabel.h \
51 domain.h \
52 event.h \
53 fcntl.h \
54 fileport.h \
55 fsctl.h \
56 fsevents.h \
57 fsgetpath.h \
58 fslog.h \
59 guarded.h \
60 imgsrc.h \
61 ipcs.h \
62 kas_info.h \
63 kdebug.h \
64 kern_control.h \
65 kern_event.h \
66 kern_memorystatus.h \
67 kern_overrides.h \
68 mbuf.h \
69 mman.h \
70 persona.h \
71 priv.h \
72 proc.h \
73 proc_info.h \
74 proc_uuid_policy.h \
75 process_policy.h \
76 reason.h \
77 resource.h \
78 sfi.h \
79 shm_internal.h \
80 snapshot.h \
81 socket.h \
82 socketvar.h \
83 sockio.h \
84 spawn.h \
85 spawn_internal.h \
86 stackshot.h \
87 sys_domain.h \
88 tree.h \
89 ulock.h \
90 unpcb.h \
91 ux_exception.h \
92 work_interval.h \
93 process_policy.h \
94 proc_uuid_policy.h \
95 priv.h \
96 pgo.h \
97 memory_maintenance.h
98
99 # Installs header file for kernel extensions -
100 # $(DSTROOT)/System/Library/Frameworks/Kernel.framework/Headers
101 # $(DSTROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders
102 KERNELFILES = \
103 appleapiopts.h attr.h \
104 buf.h cdefs.h conf.h \
105 dir.h dirent.h disk.h disklabel.h dkstat.h \
106 errno.h ev.h event.h fcntl.h file.h filio.h \
107 ioccom.h ioctl.h ipc.h \
108 ioctl_compat.h kernel.h kernel_types.h kern_event.h lock.h lockf.h \
109 kauth.h kdebug.h md5.h kern_control.h imgact.h malloc.h namei.h \
110 mman.h mbuf.h mount.h netport.h param.h paths.h \
111 proc.h queue.h random.h resource.h \
112 sbuf.h posix_sem.h posix_shm.h sem.h shm.h \
113 select.h signal.h socket.h socketvar.h sockio.h stat.h stdio.h \
114 sysctl.h syslimits.h syslog.h systm.h sys_domain.h time.h \
115 types.h ubc.h ucontext.h ucred.h uio.h un.h unistd.h unpcb.h \
116 utfconv.h vm.h vmparam.h vnode.h vnode_if.h xattr.h \
117 _select.h _structs.h _types.h _endian.h protosw.h domain.h \
118 kpi_mbuf.h kpi_socket.h kpi_socketfilter.h \
119 ttycom.h termios.h msg.h \
120 wait.h \
121 spawn.h
122 # The last line was added to export needed headers for the MAC calls
123 # whose source is outside of the xnu/bsd tree.
124
125 # Installs header file for Apple internal use for kernel extensions -
126 # $(DSTROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders
127 PRIVATE_KERNELFILES = \
128 codesign.h \
129 cprotect.h \
130 content_protection.h \
131 csr.h \
132 decmpfs.h \
133 disktab.h \
134 fbt.h \
135 fileport.h \
136 fsctl.h \
137 fslog.h \
138 kasl.h \
139 kern_memorystatus.h \
140 kpi_private.h \
141 ktrace.h \
142 mach_swapon.h \
143 msgbuf.h \
144 eventvar.h \
145 persona.h \
146 proc_info.h \
147 pthread_shims.h \
148 quota.h \
149 sem_internal.h \
150 shm_internal.h \
151 signalvar.h \
152 stackshot.h \
153 tty.h ttychars.h \
154 ttydefaults.h ttydev.h \
155 user.h \
156 vfs_context.h \
157 vmmeter.h \
158 reason.h \
159 spawn_internal.h \
160 priv.h \
161 pgo.h \
162 memory_maintenance.h \
163 doc_tombstone.h \
164 fsevents.h
165
166 # /usr/include
167 INSTALL_MI_LIST = ${DATAFILES}
168
169 INSTALL_MI_GEN_LIST = syscall.h _posix_availability.h _symbol_aliasing.h
170
171 INSTALL_MI_DIR = sys
172
173 EXPORT_MI_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES} linker_set.h bsdtask_info.h pthread_internal.h filedesc.h pipe.h resourcevar.h semaphore.h \
174 vnode_internal.h proc_internal.h file_internal.h mount_internal.h \
175 uio_internal.h tree.h munge.h guarded.h ulock.h
176
177 EXPORT_MI_GEN_LIST = syscall.h sysproto.h kdebugevents.h
178
179 EXPORT_MI_DIR = sys
180
181 # /System/Library/Frameworks/System.framework/PrivateHeaders
182 INSTALL_MI_LCL_LIST = ${PRIVATE_DATAFILES}
183
184 # /System/Library/Frameworks/Kernel.framework/PrivateHeaders
185 INSTALL_KF_MI_LCL_LIST = ${KERNELFILES} ${PRIVATE_KERNELFILES}
186
187 INSTALL_KF_MI_LCL_GEN_LIST = sysproto.h
188
189 # /System/Library/Frameworks/Kernel.framework/Headers
190 INSTALL_KF_MI_LIST = ${KERNELFILES}
191
192 INSTALL_KF_MI_GEN_LIST =
193
194 MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh
195 MAKEKDEBUGEVENTS = $(SRCROOT)/bsd/kern/makekdebugevents.py
196
197 $(OBJROOT)/cscope.genhdrs:
198 $(_v)mkdir -p $(OBJROOT)/cscope.genhdrs
199
200 $(OBJROOT)/syscall.codes: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS)
201 @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)$@$(Color0) from $(ColorF)$<$(Color0)";
202 $(_v)$(MAKESYSCALLS) $< trace > $@
203
204 $(OBJROOT)/trace.codes: $(SRCROOT)/bsd/kern/trace_codes $(OBJROOT)/syscall.codes
205 $(_v)sort -g $(SRCROOT)/bsd/kern/trace_codes $(OBJROOT)/syscall.codes >$@
206
207 syscall.h: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) $(OBJROOT)/cscope.genhdrs
208 @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)bsd/sys/$@$(Color0) from $(ColorF)$<$(Color0)";
209 @echo "$(OBJPATH)/bsd/sys/$@" > $(OBJROOT)/cscope.genhdrs/$@.path
210 $(_v)$(MAKESYSCALLS) $< header > /dev/null
211
212 sysproto.h: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) $(OBJROOT)/cscope.genhdrs
213 @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)bsd/sys/$@$(Color0) from $(ColorF)$<$(Color0)";
214 @echo "$(OBJPATH)/bsd/sys/$@" > $(OBJROOT)/cscope.genhdrs/$@.path
215 $(_v)$(MAKESYSCALLS) $< proto > /dev/null
216
217 kdebugevents.h: $(OBJROOT)/trace.codes $(MAKEKDEBUGEVENTS) $(OBJROOT)/cscope.genhdrs
218 @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)bsd/sys/$@$(Color0) from $(ColorF)$<$(Color0)";
219 @echo "$(OBJPATH)/bsd/sys/$@" > $(OBJROOT)/cscope.genhdrs/$@.path
220 $(_v)$(MAKEKDEBUGEVENTS) $< > "$(OBJPATH)/bsd/sys/$@"
221
222 MAKE_POSIX_AVAILABILITY = $(SRCROOT)/bsd/sys/make_posix_availability.sh
223 _posix_availability.h: $(MAKE_POSIX_AVAILABILITY)
224 @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)bsd/sys/$@$(Color0)";
225 $(_v)$(MAKE_POSIX_AVAILABILITY) "$@"
226
227 MAKE_SYMBOL_ALIASING = $(SRCROOT)/bsd/sys/make_symbol_aliasing.sh
228 _symbol_aliasing.h: $(MAKE_SYMBOL_ALIASING)
229 @echo "[$(CMD_MC)] $(ColorH)GENERATING$(Color0) $(ColorLF)bsd/sys/$@$(Color0)";
230 $(_v)$(MAKE_SYMBOL_ALIASING) "$(SDKROOT)" "$@"
231
232 TRACE_CODES_DEST = \
233 $(DSTROOT)/$(INSTALL_SHARE_MISC_DIR)/trace.codes
234
235 $(TRACE_CODES_DEST): $(OBJROOT)/trace.codes
236 $(_v)$(MKDIR) $(DSTROOT)/$(INSTALL_SHARE_MISC_DIR)
237 @echo INSTALL $(@F)
238 $(_v)$(INSTALL) $(INSTALL_FLAGS) $(OBJROOT)/trace.codes $@
239
240 do_textfiles_install:: $(TRACE_CODES_DEST)
241
242 include $(MakeInc_rule)
243 include $(MakeInc_dir)