|
|
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.