1#
2# Mach Operating System
3# Copyright (c) 1986 Carnegie-Mellon University
4# All rights reserved.  The CMU software License Agreement specifies
5# the terms and conditions for use and redistribution.
6#
7
8#
9# Export IDENT for sub-makefiles
10#
11export IDENT
12
13#
14# XXX: INCFLAGS 
15#
16INCFLAGS_MAKEFILE=  $(INCFLAGS_POSIX)
17
18export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
19export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
20export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
21export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
22
23include $(MakeInc_cmd)
24include $(MakeInc_def)
25
26#
27# XXX: CFLAGS
28#
29# -D_KERNEL_BUILD -DKERNEL_BUILD -DARCH_PRIVATE -DBSD_BUILD -DMACH_KERNEL
30#
31CFLAGS+= -imacros meta_features.h -DPEXPERT_KERNEL_PRIVATE -DKERNEL -DDRIVER_PRIVATE 	\
32	-Wall -Wno-four-char-constants -fno-common		\
33	-DRelease3CompatibilityBuild $(CFLAGS_INLINE_CONFIG)
34
35SFLAGS+= -DKERNEL
36
37#
38# Directories for mig generated files
39#
40COMP_SUBDIRS = 
41
42#
43#  Make sure we don't remove this by accident if interrupted at the wrong
44#  time.
45#
46.PRECIOUS: Makefile
47
48#
49#  Theses macros are filled in by the config program depending on the
50#  current configuration.  The MACHDEP macro is replaced by the
51#  contents of the machine dependent makefile template and the others
52#  are replaced by the corresponding symbol definitions for the
53#  configuration.
54#
55
56%OBJS
57
58%CFILES
59
60%MFILES
61
62%SFILES
63
64%BFILES
65
66%ORDERED
67%MACHDEP
68
69#
70#  OBJSDEPS is the set of files (defined in the machine dependent
71#  template if necessary) which all objects depend on (such as an
72#  in-line assembler expansion filter)
73#
74${OBJS}: ${OBJSDEPS}
75
76
77%LOAD
78
79LDOBJS = $(OBJS)
80
81$(COMPONENT).o: $(LDOBJS)
82	@echo LD $(COMPONENT)
83	$(_v)$(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS}
84
85do_depend: do_all
86	$(_v)${MD} -u Makedep -f -d `ls *.d`;
87	
88do_all: $(COMPONENT).o
89
90do_build_all: do_depend
91
92%RULES
93
94include $(MakeInc_rule)
95include $(MakeInc_dir)
96