|
|
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 to include libsa prototypes
15: #
16: INCFLAGS_MAKEFILE= -I$(SOURCE)libsa
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+= -DMACH_KERNEL_PRIVATE
30:
31: #
32: # Directories for mig generated files
33: #
34: COMP_SUBDIRS = \
35: default_pager \
36: device \
37: mach_debug \
38: mach
39:
40: COMP_SUBDIRS_I386 = \
41: mach
42:
43: #
44: # Make sure we don't remove this by accident if interrupted at the wrong
45: # time.
46: #
47: .PRECIOUS: Makefile
48:
49: VERSION_FILES= \
50: $(SOURCE_DIR)/$(COMPONENT)/conf/version.major \
51: $(SOURCE_DIR)/$(COMPONENT)/conf/version.minor \
52: $(SOURCE_DIR)/$(COMPONENT)/conf/version.variant
53:
54: COPYRIGHT_FILES = \
55: $(SOURCE_DIR)/$(COMPONENT)/conf/copyright.osf \
56: $(SOURCE_DIR)/$(COMPONENT)/conf/copyright.cmu
57:
58: #
59: # Theses macros are filled in by the config program depending on the
60: # current configuration. The MACHDEP macro is replaced by the
61: # contents of the machine dependent makefile template and the others
62: # are replaced by the corresponding symbol definitions for the
63: # configuration.
64: #
65:
66: %OBJS
67:
68: %CFILES
69:
70: %MFILES
71:
72: %SFILES
73:
74: %BFILES
75:
76: %ORDERED
77: %MACHDEP
78:
79: #
80: # OBJSDEPS is the set of files (defined in the machine dependent
81: # template if necessary) which all objects depend on (such as an
82: # in-line assembler expansion filter)
83: #
84: ${OBJS}: ${OBJSDEPS}
85:
86:
87: %LOAD
88:
89: LDOBJS = $(OBJS)
90:
91: $(COMPONENT).o: $(LDOBJS) assym.s
92: @echo "[ creating $(COMPONENT).o ]"
93: $(RM) $(RMFLAGS) vers.c
94: $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/newvers \
95: `$(CAT) ${VERSION_FILES}` ${COPYRIGHT_FILES}
96: ${KCC} $(CFLAGS) $(INCLUDES) -c vers.c
97: @echo [ updating $(COMPONENT).o ${OSFMK_KERNEL_CONFIG} ]
98: $(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS} vers.o
99:
100: do_depend:
101: ${MD} -u Makedep -f -d `ls *.d`;
102:
103: do_all: $(COMPONENT).o
104:
105: .ORDER: do_all do_depend
106:
107: do_build_all: do_all do_depend
108:
109: # genassym.o actually is an assembly file,
110: # we name it genassym.o to help with the automatic
111: # dependency generation
112:
113: genassym.o: $(SOURCE_DIR)/$(COMPONENT)/$(arch_config)/genassym.c
114: ${KCC} ${CFLAGS} -MD ${_HOST_EXTRA_CFLAGS} -S -o ${@} -c ${INCFLAGS} $<
115:
116: assym.s: genassym.o
117: sed -e '/#DEFINITION#/!d' -e 's/^.*#DEFINITION#//' -e 's/\$$//' genassym.o > ${@}
118:
119: ${SOBJS}: assym.s
120:
121:
122: %RULES
123:
124: -include Makedep
125:
126: include $(MakeInc_rule)
127: include $(MakeInc_dir)
128:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.