|
|
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= $(INCFLAGS_POSIX) -I$(SOURCE) -I$(SOURCE)include
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 -DDRIVER_PRIVATE \
30: -Wall -Wno-four-char-constants -fno-common \
31: -DDEBUG=1 -DIOASSERT=1 \
32: #-DIOKITDEBUG=-1
33:
34: # additional flags for cpp
35: CPPFLAGS_GEN = -x c++ -fno-rtti -fno-exceptions -fcheck-new -fvtable-thunks
36: CPPFLAGS_PPC =
37: CPPFLAGS_I386 =
38:
39: CPPFLAGS = $(CPPFLAGS_GEN) \
40: $($(addsuffix $(ARCH_CONFIG),CPPFLAGS_)) \
41: $($(addsuffix $(KERNEL_CONFIG),CPPFLAGS_))
42:
43: SFLAGS+= -DKERNEL
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: VERSION_FILES= \
57: $(SOURCE_DIR)/$(COMPONENT)/conf/version.major \
58: $(SOURCE_DIR)/$(COMPONENT)/conf/version.minor \
59: $(SOURCE_DIR)/$(COMPONENT)/conf/version.variant
60:
61: COPYRIGHT_FILES = \
62: $(SOURCE_DIR)/$(COMPONENT)/conf/copyright
63:
64: #
65: # Theses macros are filled in by the config program depending on the
66: # current configuration. The MACHDEP macro is replaced by the
67: # contents of the machine dependent makefile template and the others
68: # are replaced by the corresponding symbol definitions for the
69: # configuration.
70: #
71:
72: %OBJS
73:
74: %CFILES
75:
76: %MFILES
77:
78: %SFILES
79:
80: %BFILES
81:
82: %ORDERED
83: %MACHDEP
84:
85: #
86: # OBJSDEPS is the set of files (defined in the machine dependent
87: # template if necessary) which all objects depend on (such as an
88: # in-line assembler expansion filter)
89: #
90: ${OBJS}: ${OBJSDEPS}
91:
92:
93: %LOAD
94:
95: LDOBJS = $(OBJS)
96:
97: $(COMPONENT).o: $(LDOBJS)
98: @echo "creating $(COMPONENT).o"
99: $(RM) $(RMFLAGS) vers.c
100: $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/newvers \
101: `$(CAT) ${VERSION_FILES}` ${COPYRIGHT_FILES}
102: ${KCC} $(CFLAGS) $(INCLUDES) -c vers.c
103: @echo [ updating $(COMPONENT).o ${IOKIT_KERNEL_CONFIG} ]
104: $(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS} vers.o
105:
106: do_depend:
107: ${MD} -u Makedep -f -d `ls *.d`
108:
109:
110: do_all: $(COMPONENT).o
111:
112: .ORDER: do_all do_depend
113:
114: do_build_all: do_all do_depend
115:
116: %RULES
117:
118: -include Makedep
119:
120: include $(MakeInc_rule)
121:
122: #
123: # Compilation rules to generate .co from .cp or .cpo from .cpp
124: # The config tool slickly changes the last source filename char to 'o'
125: # for the object filename.
126: #
127: P_RULE_1A=${KCC} -o $@ -c ${CPPFLAGS} ${CFLAGS} -MD ${${join $@,_CFLAGS}} ${INCFLAGS} ${${join $@,_INCFLAGS}}
128: P_RULE_1B=$(<F)
129: P_RULE_2=@sed 's/.o: /.cpo: /' $(@:.cpo=.d) > $(@:.cpo=.d~) && mv $(@:.cpo=.d~) $(@:.cpo=.d)
130: P_RULE_3=
131: P_RULE_4=
132:
133: include $(MakeInc_dir)
134:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.