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# INCFLAGS to include security prototypes
15#
16INCFLAGS_MAKEFILE= -I$(SOURCE) -I$(SOURCE)/..
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#
29CFLAGS+= -I. -include meta_features.h -DBSD_KERNEL_PRIVATE
30
31#
32# Directories for mig generated files
33#
34COMP_SUBDIRS =
35
36
37#  Make sure we don't remove this by accident if interrupted at the wrong
38#  time.
39#
40.PRECIOUS: Makefile
41
42VERSION_FILES= \
43	$(SOURCE_DIR)/$(COMPONENT)/conf/version.major  \
44	$(SOURCE_DIR)/$(COMPONENT)/conf/version.minor   \
45	$(SOURCE_DIR)/$(COMPONENT)/conf/version.variant
46
47COPYRIGHT_FILES = \
48	$(SOURCE_DIR)/$(COMPONENT)/conf/copyright.nai
49
50#
51#  Theses macros are filled in by the config program depending on the
52#  current configuration.  The MACHDEP macro is replaced by the
53#  contents of the machine dependent makefile template and the others
54#  are replaced by the corresponding symbol definitions for the
55#  configuration.
56#
57
58%OBJS
59
60%CFILES
61
62%MFILES
63
64%SFILES
65
66%BFILES
67
68%ORDERED
69%MACHDEP
70
71#
72#  OBJSDEPS is the set of files (defined in the machine dependent
73#  template if necessary) which all objects depend on (such as an
74#  in-line assembler expansion filter)
75#
76${OBJS}: ${OBJSDEPS}
77
78
79%LOAD
80
81LDOBJS = $(OBJS)
82
83$(COMPONENT).filelist: $(LDOBJS)
84	$(_v)$(RM) $(RMFLAGS) vers.c
85	$(_v)$(SRCROOT)/SETUP/newvers \
86	`$(CAT) ${VERSION_FILES}` ${COPYRIGHT_FILES}
87	$(_v)${KCC} $(CFLAGS) $(INCLUDES) -c vers.c
88	@echo LDFILELIST $(COMPONENT)
89	$(_v)( for obj in ${LDOBJS} vers.o; do	\
90		 echo $(TARGET)$(COMP_OBJ_DIR)/$(KERNEL_CONFIG)/$${obj}; \
91	done; ) > $(COMPONENT).filelist
92
93do_all: $(COMPONENT).filelist
94
95do_depend: do_all
96	$(_v)${MD} -u Makedep -f -d `ls *.d`;
97	
98do_build_all: do_depend
99
100${SOBJS}: 
101
102
103%RULES
104
105include $(MakeInc_rule)
106include $(MakeInc_dir)
107