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