Annotation of XNU/osfmk/conf/Makefile.template, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.