FreeBSD/Linux Kernel Cross Reference
sys/conf/template.mk
1 #
2 # Mach Operating System
3 # Copyright (c) 1993-1986 Carnegie Mellon University
4 # All Rights Reserved.
5 #
6 # Permission to use, copy, modify and distribute this software and its
7 # documentation is hereby granted, provided that both the copyright
8 # notice and this permission notice appear in all copies of the
9 # software, derivative works or modified versions, and any portions
10 # thereof, and that both notices appear in supporting documentation.
11 #
12 # CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 # CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 # ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 #
16 # Carnegie Mellon requests users of this software to return to
17 #
18 # Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 # School of Computer Science
20 # Carnegie Mellon University
21 # Pittsburgh PA 15213-3890
22 #
23 # any improvements or extensions that they make and grant Carnegie Mellon
24 # the rights to redistribute these changes.
25 #
26 #
27 # HISTORY
28 # $Log: template.mk,v $
29 # Revision 2.11 93/11/17 16:18:38 dbg
30 # Added rules to build real-time interface files.
31 # [93/06/04 dbg]
32 #
33 # Revision 2.10 93/08/02 21:43:37 mrt
34 # Added rule for mach_norma_user.c and mach_norma.h
35 # [93/06/28 mrt]
36 #
37 # Revision 2.9 93/06/02 20:49:55 rvb
38 # Added definition of NOSTRIP.
39 # [93/06/02 mrt]
40 #
41 # Revision 2.8 93/05/28 17:40:45 mrt
42 # Change relink rule to build mach.boot as well as linking the
43 # kernel.
44 # [93/05/28 mrt]
45 #
46 # Revision 2.7 93/05/17 17:17:17 mrt
47 # Removed EXPORTBASE/kernel from list of INDIRS. We now
48 # put all those files in the regular export dir.
49 # Removed use of version.minor
50 # [93/05/14 mrt]
51 #
52 # Revision 2.6 93/05/11 12:55:27 rvb
53 # We don't profile the kernel yet.
54 #
55 # Revision 2.5 93/05/10 19:40:54 rvb
56 # Added trailing ` on cat ${VERSION_FILES_SOURCE line.
57 # Fix courtesy of Ian Dall.
58 # [93/04/29 mrt]
59 #
60 # Revision 2.4 93/05/10 17:45:50 rvb
61 # Typo missing `
62 # Ian Dall <DALL@hfrd.dsto.gov.au> 4/28/93
63 # [93/05/10 13:17:11 rvb]
64 #
65 # Use CC_OPT_LEVEL and CC_OPT_EXTRA for max flexibility
66 # [93/05/07 rvb]
67 #
68 # Revision 2.3 93/02/15 14:18:09 mrt
69 # Fixed it to only install the bootable kernel.
70 # Added the CFLAGS macro
71 # [93/02/05 mrt]
72 #
73 # Revision 2.2 93/02/05 12:36:11 danner
74 # Fixed support for profiling.
75 # Added mach4. - danner
76 # Renamed Makefile.template to template.mk and modifed for ODE
77 # make.
78 # [93/01/21 mrt]
79 #
80 # Revision 2.34 92/04/05 18:28:30 rpd
81 # Added ${VOLATILE} to genassym.c processing.
82 # [92/03/27 rpd]
83 # Changed to use Makefile-common (for some definitions).
84 # New cross-compilation support.
85 # [92/03/18 jvh]
86 #
87 # Revision 2.33 92/03/05 18:53:45 rpd
88 # Corrected the dependencies for device/dev_forward.c
89 # and mach/mach_norma_user.c.
90 # Added a rule for mach/mach_user.c.
91 # [92/03/04 rpd]
92 #
93 # Revision 2.32 92/02/29 15:33:24 rpd
94 # Restored explicit vers.c/vers.o rules.
95 # [92/02/27 rpd]
96 #
97 # Revision 2.31 92/02/25 14:13:22 elf
98 # Defined ASCPP and initialized it to ${CPP}
99 # [92/02/23 elf]
100 #
101 # Moved definition of MKDIRS to where it can be overriden by the
102 # machine dependent makefile fragment.
103 # [92/02/21 elf]
104 #
105 # Revision 2.30 92/02/19 15:07:08 elf
106 # Simplified - no more *_RULE_[1234] stuff.
107 # Condensed history.
108 # [92/02/12 rpd]
109 #
110 #
111 # Condensed history:
112 # Changes for out-of-kernel bootstrap (dbg).
113 # Changes for norma (jsb).
114 # Changes for MACH_KERNEL (dbg).
115 # Added mach_host.defs and related files (dlb).
116 # Mucho hacking at Mig rules (rpd).
117 # Lint hacking (mwyoung).
118 # New memory_object files (mwyoung).
119 # CPATH and -I hacking (mja, rpd).
120 # Running Mig in the build directory (mwyoung).
121 # VOLATILE hacking (rvb).
122 # Created from old Makefile.vax (mja).
123 # Reorganized for simplified config program (mja).
124 # Introduced new make depend stuff (rvb).
125
126 VPATH =..
127
128 # We want the MK version & configuration to be part of this name.
129 # Makeconf defined KERNEL_CONFIG and VERSION for us.
130
131 CONFIG ?=${KERNEL_${TARGET_MACHINE}_CONFIG:U${KERNEL_CONFIG:UDEFAULT}}
132
133 .if exists( ${MAKETOP}Makefile-version)
134 .include "${MAKETOP}Makefile-version"
135 .endif
136
137 # set BINARIES to get the osf.obj.mk rules included
138 BINARIES =
139
140 MACH_KERNEL = mach_kernel.${VERSION}.${CONFIG}
141 MACH_BOOT = mach.boot.${VERSION}.${CONFIG}
142 BOOTSTRAP = bootstrap.${VERSION}
143 MKODIRS = mach/ mach_debug/ device/
144
145 OTHERS = ${MACH_BOOT}
146 ILIST = ${MACH_BOOT}
147 IDIR = /special/
148 NOSTRIP =
149
150 DEPENDENCIES =
151
152 INCFLAGS = -I..
153
154
155 # Pre-processor environment.
156 # config outputs a definition of IDENT.
157 # LOCAL_DEFINES can be set by makeoptions in MASTER.local.
158 # LINENO is (optionally) set from the config file
159 # (eg. -DTIMEZONE=-120)
160 # (VOLATILE should be defined as "-Dvolatile=" if your
161 # compiler doesn't support volatile declarations.)
162
163 VOLATILE ?=
164 DEFINES = ${LOCAL_DEFINES} ${IDENT} -DKERNEL ${VOLATILE}
165 CC_OPT_EXTRA ?= ${LINENO}
166
167 # CFLAGS are for all normal files
168 # DRIVER_CFLAGS are for files marked as device-driver
169 # NPROFILING_CFLAGS are for files which support profile and thus
170 # should not be compiled with the profiling flags
171 #CFLAGS = ${DEFINES} ${PROFILING:D-pg -DGPROF}
172 CFLAGS = ${DEFINES}
173 DRIVER_CFLAGS =${CFLAGS}
174 NPROFILING_CFLAGS=${DEFINES}
175
176
177 #
178 # Mig variables
179 #
180
181 MIGKSFLAGS = -DKERNEL -DKERNEL_SERVER
182 MIGKUFLAGS = -DKERNEL -DKERNEL_USER
183 _MIGKSFLAGS_ = -DKERNEL -DKERNEL_SERVER ${_MIGFLAGS_}
184 _MIGKUFLAGS_ = -DKERNEL -DKERNEL_USER ${_MIGFLAGS_}
185
186 # Files where mig only needs to produce one target and the
187 # standard mig rules can be used
188
189
190 MIG_HDRS = ${EXC_FILE}
191 MIG_SRVS = ${MACH_FILE} ${MACH_PORT_FILE} \
192 ${MACH_HOST_FILE} ${MACH_DEBUG_FILE} \
193 ${DEVICE_FILE} ${DEVICE_PAGER_FILE} \
194 ${DEFAULT_PAGER_OBJECT_FILE} \
195 ${MACH_NORMA_FILE} \
196 ${NORMA_INTERNAL_FILE} \
197 ${MACH4_FILE}
198
199 EXC_FILE = mach/exc.h
200 ${EXC_FILE}_MIGFLAGS = ${MIGKUFLAGS}
201
202 MACH_FILE = mach/mach_server.c
203 ${MACH_FILE}_MIGFLAGS = ${MIGKSFLAGS}
204 ${MACH_FILE}_MIGSDEF = mach/mach.defs
205
206 MACH_PORT_FILE = mach/mach_port_server.c
207 ${MACH_PORT_FILE}_MIGFLAGS = ${MIGKSFLAGS}
208 ${MACH_PORT_FILE}_MIGSDEF = mach/mach_port.defs
209
210 MACH_HOST_FILE = mach/mach_host_server.c
211 ${MACH_HOST_FILE}_MIGFLAGS = ${MIGKSFLAGS}
212 ${MACH_HOST_FILE}_MIGSDEF = mach/mach_host.defs
213
214 MACH_DEBUG_FILE = mach_debug/mach_debug_server.c
215 ${MACH_DEBUG_FILE}_MIGFLAGS = ${MIGKSFLAGS}
216 ${MACH_DEBUG_FILE}_MIGSDEF = mach_debug/mach_debug.defs
217
218 DEVICE_FILE = device/device_server.c
219 ${DEVICE_FILE}_MIGFLAGS = ${MIGKSFLAGS}
220 ${DEVICE_FILE}_MIGSDEF = device/device.defs
221
222 DEVICE_PAGER_FILE = device/device_pager_server.c
223 ${DEVICE_PAGER_FILE}_MIGFLAGS = ${MIGKSFLAGS}
224 ${DEVICE_PAGER_FILE}_MIGSDEF = mach/memory_object.defs
225
226 DEFAULT_PAGER_OBJECT_FILE = mach/default_pager_object_server.c
227 ${DEFAULT_PAGER_OBJECT_FILE}_MIGFLAGS = ${MIGKSFLAGS}
228 ${DEFAULT_PAGER_OBJECT_FILE}_MIGSDEF = mach/default_pager_object.defs
229
230 MACH_NORMA_FILE = mach/mach_norma_server.c
231 ${MACH_NORMA_FILE}_MIGFLAGS = ${MIGKSFLAGS}
232 ${MACH_NORMA_FILE}_MIGSDEF = mach/mach_norma.defs
233
234 NORMA_INTERNAL_FILE = mach/norma_internal_server.c
235 ${NORMA_INTERNAL_FILE}_MIGFLAGS = ${MIGKSFLAGS}
236 ${NORMA_INTERNAL_FILE}_MIGSDEF = norma/norma_internal.defs
237
238 MACH4_FILE = mach/mach4_server.c
239 ${MACH4_FILE}_MIGFLAGS = ${MIGKSFLAGS}
240 ${MACH4_FILE}_MIGSDEF = mach/mach4.defs
241
242 #
243 # LDOBJS is the set of object files which comprise the kernel.
244 # LDOBJS_PREFIX and LDOBJS_SUFFIX are defined in the machine
245 # dependent Makefile (if necessary).
246 #
247 LDOBJS=${LDOBJS_PREFIX} ${OBJS} ${LDOBJS_SUFFIX}
248
249 #
250 # LDDEPS is the set of extra dependencies associated with
251 # loading the kernel.
252 #
253 # LDDEPS_PREFIX is defined in the machine dependent Makefile
254 # (if necessary).
255 #
256 LDDEPS=${LDDEPS_PREFIX}
257
258
259 LDDEPS =${LDDEPS_PREFIX}
260
261 #
262 # These macros are filled in by the config program depending on the
263 # current configuration. The MACHDEP macro is replaced by the
264 # contents of the machine dependent makefile template and the others
265 # are replaced by the corresponding symbol definitions for the
266 # configuration.
267 #
268
269 %OBJS
270
271 %CFILES
272
273 %CFLAGS
274
275 %SFILES
276
277 %BFILES
278
279 %ORDERED
280
281
282 # All macro definitions should be before this point,
283 # so that the machine dependent fragment can redefine the macros.
284 # All rules (that use macros) should be after this point,
285 # so that they pick up any redefined macro values.
286
287 %MACHDEP
288
289
290 .include <${RULES_MK}>
291
292 # drop the standard .y .l and other suffixes which are not used
293 # in the kernel to save time
294
295 .SUFFIXES:
296 .SUFFIXES: .o .s .c .b .X .out .h
297
298 #
299 # OBJSDEPS is the set of files (defined in the machine dependent
300 # template if necessary) which all objects depend on (such as an
301 # in-line assembler expansion filter
302 #
303
304 ${OBJS}: ${OBJSDEPS}
305
306 .PRECIOUS: Makefile
307
308 #
309 # The machine dependent template.mk may define the load flags
310 # so this is only a default value.
311
312 MK_LDFLAGS ?= ${${TARGET_MACHINE}_LDFLAGS:U${LDFLAGS}}
313
314 NEWVERS_DEPS = \
315 conf/version.major \
316 conf/version.variant \
317 conf/version.edit \
318 conf/version.patch \
319 conf/newvers.sh \
320 conf/copyright
321
322 VERSION_FILES_SOURCE = \
323 ${conf/version.major:P} \
324 ${conf/version.variant:P} \
325 ${conf/version.edit:P} \
326 ${conf/version.patch:P}
327
328
329 ${MACH_KERNEL}: ${PRELDDEPS} ${LDOBJS} ${LDDEPS} ${SYSDEPS} \
330 ${CC_DEPS_NORMAL} ${NEWVERS_DEPS} LINKKERNEL
331
332 # The relink rule allows you to relink the kernel without checking
333 # all the dependencies.
334
335 relink: ${MACH_KERNEL}.relink
336
337 ${MACH_KERNEL}.relink: ${LDDEPS} ${NEWVERS_DEPS} LINKKERNEL MAKEBOOT
338
339
340 # We create vers.c/vers.o right here so that the timestamp in vers.o
341 # always reflects the time that the kernel binary is actually created.
342 # We link the kernel binary to "mach_kernel" so that there is a short name
343 # for the most recently created binary in the object directory.
344
345 LINKKERNEL: .USE
346 @echo "creating vers.o"
347 @${RM} -f vers.c vers.o
348 @sh ${conf/newvers.sh:P} ${conf/copyright:P} `cat ${VERSION_FILES_SOURCE}`
349 @${_CC_} -c ${_CCFLAGS_} vers.c
350 @${RM} -f ${MACH_KERNEL} ${MACH_KERNEL}.out ${MACH_KERNEL}.unstripped
351 @echo "loading ${MACH_KERNEL}"
352 ${_LD_} -o ${MACH_KERNEL}.out ${MK_LDFLAGS} \
353 ${LDOBJS} vers.o ${LIBS} ${LDLIBS} && \
354 ${MV} ${MACH_KERNEL}.out ${MACH_KERNEL}.unstripped
355 -${SIZE} ${MACH_KERNEL}.unstripped
356 ${CP} ${MACH_KERNEL}.unstripped ${MACH_KERNEL}.out
357 ${XSTRIP} ${MACH_KERNEL}.out && ${MV} ${MACH_KERNEL}.out ${MACH_KERNEL}
358 @${RM} -f mach_kernel
359 ln ${MACH_KERNEL} mach_kernel
360 ${CP} ${MACH_KERNEL} ${EXPORTBASE}/special/${MACH_KERNEL}
361
362
363
364 # mach.boot is made with makeboot, which combines a kernel image
365 # and a bootstrap image to produce a single bootable image.
366 # The sh mess does generates a dependency on makeboot
367 #
368 # Just as ${MACH_KERNEL} is linked to mach_kernel,
369 # ${MACH_BOOT} is linked to mach.boot.
370
371 # NB: ${MACH_KERNEL} is xstripped; That is the one we want
372
373 bootstrap = ${EXPORTBASE}/special/${BOOTSTRAP}
374 ${MACH_BOOT} : ${MACH_KERNEL} ${bootstrap} MAKEBOOT
375
376 MAKEBOOT: .USE
377 @echo "${MACH_BOOT}: $${makeboot}" >> ${MACH_BOOT}.d; \
378 echo "[ generating ${MACH_BOOT} from ${MACH_KERNEL} and ${bootstrap} ]";
379 makeboot="`${WH} -q makeboot`"; \
380 ${RM} -f ${MACH_BOOT} mach.boot; \
381 $${makeboot} -o ${MACH_BOOT} ${MACH_KERNEL} ${bootstrap} && \
382 ln ${MACH_BOOT} mach.boot
383 cp ${MACH_BOOT} ${EXPORTBASE}/special/${MACH_BOOT}
384
385
386 ${OBJS}: ${OBJSDEPS}
387
388 # Use the standard rules with slightly non-standard .IMPSRC
389
390 ${COBJS}: $${$${.TARGET}_SOURCE}
391
392 ${SOBJS}: $${$${.TARGET}_SOURCE}
393
394 ${BOBJS}: $${$${.TARGET}_SOURCE}
395
396
397 #
398 # Rules for components which are not part of the kernel proper or that
399 # need to be built in a special manner.
400 #
401
402 # genassym needs to be preprocessed as for the target machine but run
403 # on the host machine. In order to get the correct predefines it is
404 # necessary to use the target preprocessor.
405
406 HOST_INCDIRS = ${INCDIRS}
407 HOST_CFLAGS = ${DEFINES}
408 HOST_LDFLAGS = ${LDFLAGS}
409 genassym_CCTYPE = host
410
411 xxx_genassym.c: ${KERN_MACHINE_DIR}/genassym.c
412 ${ansi_CPP} -P ${_CCFLAGS_} ${${KERN_MACHINE_DIR}/genassym.c:P} > xxx_genassym.c
413 cat /dev/null >> genassym.d
414 sed 's/^genassym\.o/xxx_genassym.c/' genassym.d > xxx_genassym.c.d;
415 ${RM} -f genassym.d
416
417 genassym: xxx_genassym.c
418 ( LPATH="${_host_LPATH_}"; export LPATH; \
419 ${HOST_CC} ${_CC_CFLAGS_} -o genassym.X xxx_genassym.c )
420 ${MV} genassym.X genassym
421
422 #
423 # Special dependencies for locore.
424 #
425
426 assym.s: genassym
427 ./genassym > ${.TARGET}
428
429 locore.o: assym.s ${LOCORE_HEADS}
430
431 # Make all the directories in the object directory
432
433 .BEGIN:
434 -makepath ${MKODIRS}
435
436 vm_pageout.o: mach/memory_object_user.h mach/memory_object_default.h
437
438 vm_object.o: mach/memory_object_user.h mach/memory_object_default.h
439
440 vm_fault.o: mach/memory_object_user.h
441
442 memory_object.o: mach/memory_object_user.h
443
444 exception.o: mach/exc.h
445
446 dev_pager.o : device/device_pager_server.c mach/mach_user_kernel.h
447
448 chario.o : device/device_reply.h
449
450 ds_routines.o : device/device_reply.h
451
452 mach_timer.o: mach/mach_timer_reply.h
453
454 # The Mig-generated files go into subdirectories.
455 # and have non-standard names. Also mig rules that build
456 # multiple targets have to generate an intermediate "timestamp"
457 # target that the final targets can depend on in order
458 # to avoid being run redundently
459
460
461 MACH_KU_FUNCS = \
462 memory_object_data_provided memory_object_data_unavailable \
463 memory_object_data_error memory_object_set_attributes \
464 memory_object_data_supply memory_object_ready \
465 memory_object_change_attributes
466
467 MACH_KU_FFILES = ${MACH_KU_FUNCS:@.F.@mach/${.F.}.c@}
468 MACH_KU_FILES = mach/mach_user_kernel.h $(MACH_KU_FFILES)
469
470 $(MACH_KU_FILES): mach_stamp
471 mach_stamp: mach/mach.defs
472 @echo ""
473 @touch mach_stamp
474 ${MIG} ${_MIGKUFLAGS_} \
475 -header mach/mach_user_kernel.h \
476 -i mach/ -user '$$(MACH_KU_FFILES)' \
477 -server /dev/null \
478 ${mach/mach.defs:P}
479
480 MEMORY_OBJECT_FILES = mach/memory_object_user.h mach/memory_object_user.c
481
482 ${MEMORY_OBJECT_FILES}: memory_object_stamp
483 memory_object_stamp: mach/memory_object.defs
484 @echo ""
485 @touch memory_object_stamp
486 ${MIG} ${_MIGKUFLAGS_} -DSEQNOS \
487 -header mach/memory_object_user.h\
488 -user mach/memory_object_user.c\
489 -server /dev/null \
490 ${mach/memory_object.defs:P}
491
492
493 MEMORY_OBJECT_DEFAULT_FILES = mach/memory_object_default.h \
494 mach/memory_object_default_user.c
495
496 ${MEMORY_OBJECT_DEFAULT_FILES}: memory_object_default_stamp
497 memory_object_default_stamp: mach/memory_object_default.defs
498 @echo ""
499 @touch memory_object_default_stamp
500 ${MIG} ${_MIGKUFLAGS_} -DSEQNOS \
501 -header mach/memory_object_default.h\
502 -user mach/memory_object_default_user.c\
503 -server /dev/null \
504 ${mach/memory_object_default.defs:P}
505
506 PROXY_FILES = mach/proxy.h mach/proxy_user.c mach/proxy_server.c
507
508 $(PROXY_FILES): xmm_proxy_stamp
509 xmm_proxy_stamp: norma/xmm_proxy.defs
510 @touch xmm_proxy_stamp
511 @echo ""
512 $(MIG) $(_MIGKUFLAGS_) \
513 -header mach/proxy.h \
514 -user mach/proxy_user.c \
515 -server /dev/null \
516 ${norma/xmm_proxy.defs:P}
517 $(MIG) $(_MIGKSFLAGS_) \
518 -header /dev/null \
519 -user /dev/null \
520 -server mach/proxy_server.c \
521 ${norma/xmm_proxy.defs:P}
522
523 DEVKUSER_FILES = mach/dev_forward.c mach/dev_forward.h
524
525 ${DEVKUSER_FILES}: dev_forward_stamp
526 dev_forward_stamp: device/dev_forward.defs
527 @touch dev_forward_stamp
528 @echo ""
529 ${MIG} ${_MIGKUFLAGS_}\
530 -header mach/dev_forward.h\
531 -user mach/dev_forward.c\
532 -server /dev/null\
533 ${device/dev_forward.defs:P}
534
535
536 DEVICE_REPLY_FILES = device/device_reply.h device/device_reply_user.c
537
538 ${DEVICE_REPLY_FILES}: device_reply_stamp
539 device_reply_stamp: device/device_reply.defs
540 @touch device_reply_stamp
541 @echo ""
542 ${MIG} ${_MIGKUFLAGS_}\
543 -header device/device_reply.h\
544 -user device/device_reply_user.c\
545 -server /dev/null\
546 ${device/device_reply.defs:P}
547
548 MACH_NORMA_USER_FILES = mach/mach_norma.h mach/mach_norma_user.c
549
550 ${MACH_NORMA_USER_FILES}: mach_norma_user_stamp
551 mach_norma_user_stamp: mach/mach_norma.defs
552 @touch mach_norma_user_stamp
553 @echo ""
554 $(MIG) $(_MIGKUFLAGS_) \
555 -header mach/mach_norma.h \
556 -user mach/mach_norma_user.c \
557 -server /dev/null \
558 ${mach/mach_norma.defs:P}
559
560 NORMA_INTERNAL_USER_FILES = mach/norma_internal.h mach/norma_internal_user.c
561
562 $(NORMA_INTERNAL_USER_FILES): norma_internal_stamp
563 norma_internal_stamp: norma/norma_internal.defs
564 @touch norma_internal_stamp
565 @echo ""
566 $(MIG) $(_MIGKUFLAGS_) \
567 -header mach/norma_internal.h \
568 -user mach/norma_internal_user.c \
569 -server /dev/null \
570 ${norma/norma_internal.defs:P}
571
572 MACH_USER_FILES = mach/mach_user.h mach/mach_user.c
573
574 ${MACH_USER_FILES}: mach_user_stamp
575 mach_user_stamp: mach/mach.defs
576 @touch mach_user_stamp
577 @echo ""
578 ${MIG} ${_MIGKUFLAGS_} \
579 -header mach/mach_user.h \
580 -user mach/mach_user.c \
581 -server /dev/null \
582 ${mach/mach.defs:P}
583
584
585 MACH_TIMER_USER_FILES = mach/mach_timer_reply.h mach/mach_timer_reply_user.c
586
587 ${MACH_TIMER_USER_FILES}: mach_timer_reply_stamp
588 mach_timer_reply_stamp: mach/mach_timer_reply.defs
589 @touch mach_timer_reply_stamp
590 @echo ""
591 ${MIG} ${_MIGKUFLAGS_}\
592 -header mach/mach_timer_reply.h\
593 -user mach/mach_timer_reply_user.c\
594 -server /dev/null\
595 ${mach/mach_timer_reply.defs:P}
Cache object: 2d2f7f257e95cc878408529696de3b44
|