|
|
1.1 root 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: #
11: export IDENT
12:
13: #
14: # XXX: INCFLAGS
15: #
16: INCFLAGS_MAKEFILE=
17:
18: export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
19: export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
20: export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
21: export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
22:
23: include $(MakeInc_cmd)
24: include $(MakeInc_def)
25:
26: #
27: # XXX: CFLAGS
28: #
29: CFLAGS+= -DKERNEL -DLIBKERN_KERNEL_PRIVATE -DDEBUG \
30: -Wall -Wno-four-char-constants -fno-common
31:
32: # additional flags for cpp
33: CPPFLAGS_GEN = -x c++ -fno-rtti -fno-exceptions -fcheck-new -fvtable-thunks
34: CPPFLAGS_PPC =
35: CPPFLAGS_I386 =
36:
37: CPPFLAGS = $(CPPFLAGS_GEN) \
38: $($(addsuffix $(ARCH_CONFIG),CPPFLAGS_)) \
39: $($(addsuffix $(KERNEL_CONFIG),CPPFLAGS_))
40:
41: SFLAGS+= -DKERNEL
42:
43: #
44: # Directories for mig generated files
45: #
46: COMP_SUBDIRS =
47:
48: #
49: # Make sure we don't remove this by accident if interrupted at the wrong
50: # time.
51: #
52: .PRECIOUS: Makefile
53:
54: VERSION_FILES= \
55: $(SOURCE_DIR)/$(COMPONENT)/conf/version.major \
56: $(SOURCE_DIR)/$(COMPONENT)/conf/version.minor \
57: $(SOURCE_DIR)/$(COMPONENT)/conf/version.variant
58:
59: COPYRIGHT_FILES = \
60: $(SOURCE_DIR)/$(COMPONENT)/conf/copyright
61:
62: #
63: # Theses macros are filled in by the config program depending on the
64: # current configuration. The MACHDEP macro is replaced by the
65: # contents of the machine dependent makefile template and the others
66: # are replaced by the corresponding symbol definitions for the
67: # configuration.
68: #
69:
70: %OBJS
71:
72: %CFILES
73:
74: %MFILES
75:
76: %SFILES
77:
78: %BFILES
79:
80: %ORDERED
81: %MACHDEP
82:
83: #
84: # OBJSDEPS is the set of files (defined in the machine dependent
85: # template if necessary) which all objects depend on (such as an
86: # in-line assembler expansion filter)
87: #
88: ${OBJS}: ${OBJSDEPS}
89:
90:
91: %LOAD
92:
93: LDOBJS = $(OBJS)
94:
95: $(COMPONENT).o: $(LDOBJS)
96: @echo "creating $(COMPONENT).o"
97: $(RM) $(RMFLAGS) vers.c
98: $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/newvers \
99: `$(CAT) ${VERSION_FILES}` ${COPYRIGHT_FILES}
100: ${KCC} $(CFLAGS) $(INCLUDES) -c vers.c
101: @echo [ updating $(COMPONENT).o ${LIBKERN_KERNEL_CONFIG} ]
102: $(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS} vers.o
103:
104: do_depend:
105: ${MD} -u Makedep -f -d `ls *.d`
106:
107:
108: do_all: $(COMPONENT).o
109:
110: .ORDER: do_all do_depend
111:
112: do_build_all: do_all do_depend
113:
114: %RULES
115:
116: -include Makedep
117:
118: include $(MakeInc_rule)
119:
120: #
121: # Compilation rules to generate .co from .cp or .cpo from .cpp
122: # The config tool slickly changes the last source filename char to 'o'
123: # for the object filename.
124: #
125: P_RULE_1A=${KCC} -o $@ -c ${CPPFLAGS} ${CFLAGS} -MD ${${join $@,_CFLAGS}} ${INCFLAGS} ${${join $@,_INCFLAGS}}
126: P_RULE_1B=$(<F)
127: P_RULE_2=@sed 's/.o: /.cpo: /' $(@:.cpo=.d) > $(@:.cpo=.d~) && mv $(@:.cpo=.d~) $(@:.cpo=.d)
128: P_RULE_3=
129: P_RULE_4=
130:
131: include $(MakeInc_dir)
132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.