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