]>
Commit | Line | Data |
---|---|---|
91447636 | 1 | # |
316670eb | 2 | # Copyright (c) 2000-2011 Apple Inc. All rights reserved. |
91447636 | 3 | # |
6601e61a | 4 | # @APPLE_LICENSE_HEADER_START@ |
91447636 | 5 | # |
8f6c56a5 A |
6 | # The contents of this file constitute Original Code as defined in and |
7 | # are subject to the Apple Public Source License Version 1.1 (the | |
8 | # "License"). You may not use this file except in compliance with the | |
9 | # License. Please obtain a copy of the License at | |
10 | # http://www.apple.com/publicsource and read it before using this file. | |
11 | # | |
12 | # This Original Code and all software distributed under the License are | |
13 | # distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | # EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | # INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | # FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the | |
17 | # License for the specific language governing rights and limitations | |
18 | # under the License. | |
19 | # | |
6601e61a | 20 | # @APPLE_LICENSE_HEADER_END@ |
91447636 A |
21 | # |
22 | ||
1c79356b A |
23 | # |
24 | # Mach Operating System | |
25 | # Copyright (c) 1986 Carnegie-Mellon University | |
26 | # All rights reserved. The CMU software License Agreement specifies | |
27 | # the terms and conditions for use and redistribution. | |
28 | # | |
29 | ||
1c79356b A |
30 | export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd |
31 | export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def | |
32 | export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule | |
33 | export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir | |
34 | ||
35 | include $(MakeInc_cmd) | |
36 | include $(MakeInc_def) | |
37 | ||
38 | # | |
39 | # XXX: CFLAGS | |
40 | # | |
39236c6e | 41 | CFLAGS+= -include meta_features.h -DDRIVER_PRIVATE \ |
9bccf70c | 42 | -D_KERNEL_BUILD -DKERNEL_BUILD -DMACH_KERNEL -DBSD_BUILD \ |
39236c6e A |
43 | -DBSD_KERNEL_PRIVATE -DLP64_DEBUG=0 |
44 | ||
45 | # | |
46 | # Directories for mig generated files | |
47 | # | |
48 | COMP_SUBDIRS = | |
49 | ||
50 | # | |
51 | # Make sure we don't remove this by accident if interrupted at the wrong | |
52 | # time. | |
53 | # | |
54 | .PRECIOUS: Makefile | |
55 | ||
56 | # | |
57 | # Theses macros are filled in by the config program depending on the | |
58 | # current configuration. The MACHDEP macro is replaced by the | |
59 | # contents of the machine dependent makefile template and the others | |
60 | # are replaced by the corresponding symbol definitions for the | |
61 | # configuration. | |
62 | # | |
63 | ||
64 | %OBJS | |
65 | ||
66 | %CFILES | |
67 | ||
68 | %SFILES | |
69 | ||
70 | %MACHDEP | |
71 | ||
72 | # | |
73 | # Machine-independent per-file flags | |
74 | # | |
0b4e3aa0 | 75 | |
6d2010ae A |
76 | dp_backing_file.o_CFLAGS_ADD += -Wshorten-64-to-32 |
77 | ubc_subr.o_CFLAGS_ADD += -Wshorten-64-to-32 | |
78 | vnode_pager.o_CFLAGS_ADD += -Wshorten-64-to-32 | |
79 | vm_unix.o_CFLAGS_ADD += -Wshorten-64-to-32 | |
39236c6e A |
80 | pthread_synch.o_CFLAGS_ADD += -Wno-unused-parameter -Wno-missing-prototypes |
81 | pthread_support.o_CFLAGS_ADD += -Wno-unused-parameter -Wno-missing-prototypes | |
6d2010ae A |
82 | |
83 | # Objects that don't want -Wsign-compare | |
84 | OBJS_NO_SIGN_COMPARE = \ | |
85 | radix.o \ | |
86 | route.o \ | |
87 | rtsock.o \ | |
88 | dhcp_options.o \ | |
89 | igmp.o \ | |
90 | in_cksum.o \ | |
91 | ip_divert.o \ | |
92 | ip_dummynet.o \ | |
93 | ip_flow.o \ | |
94 | ip_fw2.o \ | |
95 | ip_fw2_compat.o \ | |
96 | ip_icmp.o \ | |
97 | ip_input.o \ | |
98 | ip_mroute.o \ | |
99 | ip_output.o \ | |
100 | raw_ip.o \ | |
101 | tcp_input.o \ | |
102 | tcp_output.o \ | |
103 | tcp_subr.o \ | |
104 | tcp_usrreq.o \ | |
105 | tcp_timer.o \ | |
106 | udp_usrreq.o \ | |
107 | ah_input.o \ | |
108 | ah_core.o \ | |
109 | ah_output.o \ | |
110 | esp_core.o \ | |
111 | esp_input.o \ | |
112 | esp_output.o \ | |
113 | esp_rijndael.o \ | |
114 | ipsec.o \ | |
115 | dest6.o \ | |
116 | frag6.o \ | |
117 | icmp6.o \ | |
118 | in6.o \ | |
119 | in6_src.o \ | |
120 | in6_cksum.o \ | |
121 | ip6_fw.o \ | |
122 | ip6_forward.o \ | |
123 | in6_ifattach.o \ | |
124 | ip6_input.o \ | |
125 | ip6_mroute.o \ | |
126 | ip6_output.o \ | |
127 | ipcomp_input.o \ | |
128 | ipcomp_output.o \ | |
129 | in6_proto.o \ | |
130 | mld6.o \ | |
131 | nd6.o \ | |
132 | nd6_nbr.o \ | |
316670eb | 133 | nd6_prproxy.o \ |
6d2010ae A |
134 | nd6_rtr.o \ |
135 | raw_ip6.o \ | |
136 | route6.o \ | |
137 | scope6.o \ | |
138 | udp6_usrreq.o \ | |
139 | key.o \ | |
140 | keysock.o \ | |
141 | keydb.o \ | |
142 | des_setkey.o \ | |
143 | uipc_mbuf.o \ | |
144 | uipc_mbuf2.o \ | |
145 | uipc_socket.o \ | |
146 | uipc_socket2.o | |
147 | ||
148 | $(foreach file,$(OBJS_NO_SIGN_COMPARE),$(eval $(call add_perfile_cflags,$(file),-Wno-sign-compare))) | |
149 | ||
39236c6e A |
150 | # Objects that don't want -Wcast-align warning (8474835) |
151 | OBJS_NO_CAST_ALIGN = \ | |
152 | BTree.o \ | |
153 | BTreeAllocate.o \ | |
154 | BTreeMiscOps.o \ | |
155 | BTreeNodeOps.o \ | |
156 | BTreeScanner.o \ | |
157 | BTreeTreeOps.o \ | |
158 | CatalogUtilities.o \ | |
159 | audit_bsm_token.o \ | |
160 | audit_pipe.o \ | |
161 | audit_session.o \ | |
162 | bsd_i386.o \ | |
163 | decmpfs.o \ | |
164 | dtrace.o \ | |
165 | fasttrap.o \ | |
166 | fasttrap_isa.o \ | |
167 | fbt_arm.o \ | |
168 | fbt_x86.o \ | |
169 | fips_sha1.o \ | |
170 | hfs_attrlist.o \ | |
171 | hfs_btreeio.o \ | |
172 | hfs_catalog.o \ | |
173 | hfs_cnode.o \ | |
174 | hfs_endian.o \ | |
175 | hfs_hotfiles.o \ | |
176 | hfs_link.o \ | |
177 | hfs_quota.o \ | |
178 | hfs_readwrite.o \ | |
179 | hfs_search.o \ | |
180 | hfs_vfsops.o \ | |
181 | hfs_vnops.o \ | |
182 | hfs_xattr.o \ | |
183 | if_bond.o \ | |
184 | ip6_fw.o \ | |
185 | ip_dummynet.o \ | |
186 | ip_fw2.o \ | |
187 | kern_credential.o \ | |
188 | kern_descrip.o \ | |
189 | kern_event.o \ | |
190 | kern_exec.o \ | |
191 | kern_lockf.o \ | |
192 | kern_subr.o \ | |
193 | km.o \ | |
194 | lockstat.o \ | |
195 | mach_loader.o \ | |
196 | memdev.o \ | |
197 | nfs4_subs.o \ | |
198 | nfs4_vnops.o \ | |
199 | nfs_boot.o \ | |
200 | nfs_gss.o \ | |
201 | nfs_serv.o \ | |
202 | nfs_socket.o \ | |
203 | nfs_srvcache.o \ | |
204 | nfs_subs.o \ | |
205 | nfs_syscalls.o \ | |
206 | nfs_vfsops.o \ | |
207 | nfs_vnops.o \ | |
208 | proc_info.o \ | |
209 | pthread_synch.o \ | |
210 | qsort.o \ | |
211 | randomdev.o \ | |
212 | sdt.o \ | |
213 | sha1mod.o \ | |
214 | shadow.o \ | |
215 | spec_vnops.o \ | |
216 | subr_log.o \ | |
217 | subr_prof.o \ | |
218 | sys_generic.o \ | |
219 | sys_pipe.o \ | |
220 | systemcalls.o \ | |
221 | systrace.o \ | |
222 | tcp_lro.o \ | |
223 | tty.o \ | |
224 | tty_compat.o \ | |
225 | tty_ptmx.o \ | |
226 | tty_pty.o \ | |
227 | ubc_subr.o \ | |
228 | uipc_usrreq.o \ | |
229 | vfs_attrlist.o \ | |
230 | vfs_fsevents.o \ | |
231 | vfs_journal.o \ | |
232 | vfs_lookup.o \ | |
233 | vfs_subr.o \ | |
234 | vfs_syscalls.o \ | |
235 | vfs_utfconv.o \ | |
236 | vfs_vnops.o \ | |
237 | vfs_xattr.o \ | |
238 | vn.o \ | |
239 | munge.o \ | |
240 | aes.o \ | |
241 | aeskey.o \ | |
242 | sdt_arm.o | |
243 | ||
244 | $(foreach file,$(OBJS_NO_CAST_ALIGN),$(eval $(call add_perfile_cflags,$(file),-Wno-cast-align))) | |
1c79356b | 245 | |
55e303ae A |
246 | # |
247 | # This rule insures that the subr_prof.c does NOT get compiled with | |
248 | # profiling. It implements mcount() and profiling it leads to recursion. | |
249 | # | |
250 | ||
251 | subr_prof.o_CFLAGS_RM = -pg | |
252 | ||
1c79356b A |
253 | # |
254 | # OBJSDEPS is the set of files (defined in the machine dependent | |
255 | # template if necessary) which all objects depend on (such as an | |
256 | # in-line assembler expansion filter) | |
257 | # | |
258 | ${OBJS}: ${OBJSDEPS} | |
259 | ||
1c79356b A |
260 | LDOBJS = $(OBJS) |
261 | ||
39236c6e | 262 | $(COMPONENT).filelist: $(LDOBJS) |
b0d623f7 A |
263 | @echo LDFILELIST $(COMPONENT) |
264 | $(_v)( for obj in ${LDOBJS}; do \ | |
39236c6e | 265 | echo $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \ |
6d2010ae | 266 | done; ) > $(COMPONENT).filelist |
b0d623f7 A |
267 | |
268 | MAKESYSCALLS = $(SRCROOT)/bsd/kern/makesyscalls.sh | |
269 | ||
270 | init_sysent.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) | |
271 | @echo "Generating $@ from $<"; | |
272 | $(_v)$(MAKESYSCALLS) $< table > /dev/null | |
273 | ||
274 | syscalls.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) | |
275 | @echo "Generating $@ from $<"; | |
276 | $(_v)$(MAKESYSCALLS) $< names > /dev/null | |
277 | ||
278 | audit_kevents.c: $(SRCROOT)/bsd/kern/syscalls.master $(MAKESYSCALLS) | |
279 | @echo "Generating $@ from $<"; | |
280 | $(_v)$(MAKESYSCALLS) $< audit > /dev/null | |
1c79356b | 281 | |
6d2010ae | 282 | do_all: $(COMPONENT).filelist |
1c79356b | 283 | |
39236c6e | 284 | do_build_all:: do_all |
1c79356b A |
285 | |
286 | %RULES | |
287 | ||
1c79356b A |
288 | include $(MakeInc_rule) |
289 | include $(MakeInc_dir) |