darwin-xnu/makedefs/MakeInc.dir
<<
>>
Prefs
   1#
   2# Install kernel header files
   3#
   4installhdrs: exporthdrs installhdrs_mi installhdrs_md 
   5        @echo "[ $(SRCROOT) ] make installhdrs installing Kernel.framework"; \
   6        kincpath=$(DSTROOT)/$(KINCDIR);                                 \
   7        krespath=$(DSTROOT)/$(KRESDIR);                                 \
   8        kframepath=$(DSTROOT)/$(KINCFRAME);                             \
   9        [ -d $$krespath ] || $(MKDIR) $$krespath;                       \
  10        [ -d $$kincpath ] || $(MKDIR) $$kincpath;                       \
  11        cd $(SRCROOT)/EXTERNAL_HEADERS;                                 \
  12                install $(FILE_INSTALL_FLAGS) Info.plist $$krespath;    \
  13                $(SRCROOT)/config/newvers.pl $${krespath}/Info.plist;   \
  14        cd $$kframepath/Versions;                                       \
  15            [ -L Current ] || $(LN) $(KINCVERS) Current;                \
  16        cd $$kframepath;                                                \
  17            [ -L Headers ] || $(LN) Versions/Current/Headers Headers;   \
  18            [ -L Resources ] || $(LN) Versions/Current/Resources Resources;     \
  19        [ -d $(DSTROOT)/$(KPINCDIR) ] || $(MKDIR) $(DSTROOT)/$(KPINCDIR);       \
  20        cd $$kframepath; [ -L PrivateHeaders ] ||                       \
  21            $(LN) Versions/Current/PrivateHeaders PrivateHeaders;
  22
  23#
  24# Install header files order
  25#
  26.ORDER: installhdrs_mi installhdrs_md
  27
  28#
  29# Install machine independent header files
  30#
  31installhdrs_mi:
  32        @echo "[ $(SOURCE) ] make installhdrs_mi ";                     \
  33        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
  34        kernel_config=$(INSTALL_TYPE);                                  \
  35        arch_config=$(INSTALL_ARCH_DEFAULT);                                    \
  36        installinc_dir=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path};       \
  37        [ -d $${installinc_dir} ] ||$(MKDIR) $${installinc_dir};        \
  38        ${MAKE} -C $${installinc_dir}                                   \
  39                KERNEL_CONFIG=$${kernel_config}                         \
  40                ARCH_CONFIG=$${arch_config}                             \
  41                MAKEFILES=${SOURCE}/Makefile                            \
  42                SOURCE=${SOURCE}/                                       \
  43                TARGET=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path}/       \
  44                build_installhdrs_mi;                                   \
  45
  46#
  47# Install machine dependent kernel header files 
  48#
  49installhdrs_md:
  50        @echo "[ $(SOURCE) ] make installhdrs_md ";                     \
  51        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
  52        kernel_config=$(INSTALL_TYPE);                                  \
  53        for arch_config in $(INSTALL_ARCHS);                            \
  54        do                                                              \
  55        [ -d ${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path} ] || \
  56        $(MKDIR) ${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path};     \
  57        ${MAKE} -C ${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path}    \
  58                KERNEL_CONFIG=$${kernel_config}                         \
  59                ARCH_CONFIG=$${arch_config}                             \
  60                MAKEFILES=${SOURCE}/Makefile                            \
  61                SOURCE=${SOURCE}/                                       \
  62                TARGET=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path}/       \
  63                build_installhdrs_md;                                   \
  64        done;
  65
  66#
  67# Install machine independent kernel header files 
  68#
  69do_installhdrs_mi:
  70
  71build_installhdrs_mi::
  72        @echo "[ $(SOURCE) ] make build_installhdrs_mi $(KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";      \
  73        for installinc_subdir in $(INSTINC_SUBDIRS);                    \
  74        do                                                              \
  75                [ -d $${installinc_subdir} ] || $(MKDIR) $${installinc_subdir};         \
  76                ${MAKE} -C $${installinc_subdir}                        \
  77                        MAKEFILES=$(SOURCE)$${installinc_subdir}/Makefile       \
  78                        SOURCE=$(SOURCE)$${installinc_subdir}/          \
  79                        TARGET=$(TARGET)$${installinc_subdir}/          \
  80                build_installhdrs_mi;                                   \
  81        done;                                                           \
  82        ${MAKE} ${MAKEJOBS} do_installhdrs_mi;
  83
  84#
  85# Install machine dependent kernel header files 
  86#
  87do_installhdrs_md:
  88
  89build_installhdrs_md::
  90        @echo "[ $(SOURCE) ] make installhdrs_md $(KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";    \
  91        for installinc_subdir in $($(addprefix INSTINC_SUBDIRS_, $(ARCH_CONFIG)));              \
  92        do                                                              \
  93                [ -d $${installinc_subdir} ] || $(MKDIR) $${installinc_subdir};                 \
  94                ${MAKE} -C $${installinc_subdir}                        \
  95                        MAKEFILES=$(SOURCE)$${installinc_subdir}/Makefile       \
  96                        SOURCE=$(SOURCE)$${installinc_subdir}/          \
  97                        TARGET=$(TARGET)$${installinc_subdir}/          \
  98                build_installhdrs_md;                                   \
  99        done;                                                           \
 100        ${MAKE} ${MAKEJOBS} do_installhdrs_md;
 101
 102#
 103# Install kernel header files
 104#
 105exporthdrs: exporthdrs_mi exporthdrs_md 
 106
 107#
 108# Install header files order
 109#
 110.ORDER: exporthdrs_mi exporthdrs_md
 111
 112#
 113# Install machine independent header files
 114#
 115do_exporthdrs_mi:
 116
 117exporthdrs_mi:
 118        @echo "[ ${SOURCE} ] make exporthdrs_mi ";                      \
 119        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
 120        kernel_config=$(INSTALL_TYPE);                                  \
 121        arch_config=$(INSTALL_ARCH_DEFAULT);                                    \
 122        exportinc_dir=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path};        \
 123        [ -d $${exportinc_dir} ] || $(MKDIR) $${exportinc_dir};                                 \
 124        ${MAKE} -C $${exportinc_dir}                                    \
 125                KERNEL_CONFIG=$${kernel_config}                         \
 126                ARCH_CONFIG=$${arch_config}                             \
 127                MAKEFILES=${SOURCE}/Makefile                            \
 128                SOURCE=${SOURCE}/                                       \
 129                TARGET=$${exportinc_dir}/                               \
 130                build_exporthdrs_mi;                                    \
 131
 132#
 133# Install machine dependent kernel header files 
 134#
 135exporthdrs_md:
 136        @echo "[ $(SOURCE) ] make exporthdrs_md ";                      \
 137        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
 138        kernel_config=$(INSTALL_TYPE);                                  \
 139        for arch_config in $(ARCH_CONFIGS);                             \
 140        do                                                              \
 141        exportinc_dir=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path};        \
 142        [ -d $${exportinc_dir} ] || $(MKDIR) $${exportinc_dir};                                 \
 143        ${MAKE} -C $${exportinc_dir}                                    \
 144                KERNEL_CONFIG=$${kernel_config}                         \
 145                ARCH_CONFIG=$${arch_config}                             \
 146                MAKEFILES=${SOURCE}/Makefile                            \
 147                SOURCE=${SOURCE}/                                       \
 148                TARGET=$${exportinc_dir}/                               \
 149                build_exporthdrs_md;                                    \
 150        done;
 151
 152#
 153# Install machine independent kernel header files 
 154#
 155do_exporthdrs_mi:
 156
 157build_exporthdrs_mi:
 158        @echo "[ $(SOURCE) ] make build_exporthdrs_mi $(KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";       \
 159        _TMP_EXPINC_SUBDIRS="$(EXPINC_SUBDIRS)";                        \
 160        for exportinc_subdir in $${_TMP_EXPINC_SUBDIRS};                \
 161        do                                                              \
 162                [ -d $${exportinc_subdir} ] || $(MKDIR) $${exportinc_subdir};                           \
 163                ${MAKE} -C $${exportinc_subdir}                         \
 164                        MAKEFILES=$(SOURCE)$${exportinc_subdir}/Makefile        \
 165                        SOURCE=$(SOURCE)$${exportinc_subdir}/           \
 166                        TARGET=$(TARGET)$${exportinc_subdir}/           \
 167                build_exporthdrs_mi;                                    \
 168        done;                                                           \
 169        ${MAKE} ${MAKEJOBS} do_exporthdrs_mi;
 170
 171#
 172# Install machine dependent kernel header files 
 173#
 174do_exporthdrs_md:
 175
 176build_exporthdrs_md:
 177        @echo "[ $(SOURCE) ] make exporthdrs_md $(KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";     \
 178        _TMP_exportinc_subdir="$($(addprefix EXPINC_SUBDIRS_, $(ARCH_CONFIG)))";        \
 179        for exportinc_subdir in $${_TMP_exportinc_subdir};                      \
 180        do                                                              \
 181                [ -d $${exportinc_subdir} ] || $(MKDIR) $${exportinc_subdir};                           \
 182                ${MAKE} -C $${exportinc_subdir}                         \
 183                        MAKEFILES=$(SOURCE)$${exportinc_subdir}/Makefile        \
 184                        SOURCE=$(SOURCE)$${exportinc_subdir}/           \
 185                        TARGET=$(TARGET)$${exportinc_subdir}/           \
 186                build_exporthdrs_md;                                    \
 187        done;                                                           \
 188        ${MAKE} ${MAKEJOBS} do_exporthdrs_md;
 189
 190#
 191# Setup pass for  all architectures for all Configuration/Architecture options
 192#
 193setup:
 194        @echo "[ $(SOURCE) ] make setup";                                       \
 195        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
 196        for kernel_config in $(KERNEL_CONFIGS);                         \
 197        do                                                              \
 198        for arch_config in $(ARCH_CONFIGS);                             \
 199        do                                                              \
 200        setup_subdir=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path}; \
 201        [ -d $${setup_subdir} ] || $(MKDIR) $${setup_subdir};                                   \
 202        ${MAKE} -C $${setup_subdir}                                     \
 203                KERNEL_CONFIG=$${kernel_config}                         \
 204                ARCH_CONFIG=$${arch_config}                             \
 205                MAKEFILES=${SOURCE}/Makefile                            \
 206                SOURCE=${SOURCE}/                                       \
 207                TARGET=$${setup_subdir}/                                \
 208        build_setup;                                                    \
 209        done;                                                           \
 210        done;
 211
 212do_build_setup:
 213
 214build_setup:
 215        @echo "[ $(SOURCE) ] make build_setup $(COMPONENT) $(KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";  \
 216        _TMP_setup_subdir="$(SETUP_SUBDIRS) $($(addprefix SETUP_SUBDIRS_, $(ARCH_CONFIG)))";    \
 217        for setup_subdir in $${_TMP_setup_subdir};              \
 218        do                                                      \
 219        [ -d $${setup_subdir} ] || $(MKDIR) $${setup_subdir};                           \
 220        ${MAKE} -C $${setup_subdir}                             \
 221                MAKEFILES=${SOURCE}/$${setup_subdir}/Makefile   \
 222                SOURCE=${SOURCE}/$${setup_subdir}/              \
 223                TARGET=${TARGET}/$${setup_subdir}/              \
 224                build_setup;                                    \
 225        done;                                                   \
 226        ${MAKE} do_build_setup;
 227
 228
 229#
 230# Build all architectures for all Configuration/Architecture options
 231#
 232ifeq ($(COMPONENT), .)
 233all: exporthdrs
 234else
 235all:
 236endif
 237        @echo "[ $(SOURCE) ] make all";                                 \
 238        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
 239        for kernel_config in $(KERNEL_CONFIGS);                         \
 240        do                                                              \
 241        for arch_config in $(ARCH_CONFIGS);                             \
 242        do                                                              \
 243        build_subdir=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path}; \
 244        [ -d $${build_subdir} ] || $(MKDIR) $${build_subdir};                                   \
 245        ${MAKE} -C $${build_subdir}                                     \
 246                KERNEL_CONFIG=$${kernel_config}                         \
 247                ARCH_CONFIG=$${arch_config}                             \
 248                MAKEFILES=${SOURCE}/Makefile                            \
 249                SOURCE=${SOURCE}/                                       \
 250                build_all;                                              \
 251        done;                                                           \
 252        done;
 253
 254#
 255# Build all architectures for all Configuration/Architecture options
 256#
 257do_build_all:
 258
 259build_all: 
 260        @TARGET=${OBJROOT}/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT);        \
 261        echo "[ $(SOURCE) ] make build_all $(COMPONENT) $(KERNEL_CONFIG) $(ARCH_CONFIG) $${TARGET}";    \
 262        _TMP_comp_subdir="$(COMP_SUBDIRS) $($(addprefix COMP_SUBDIRS_, $(ARCH_CONFIG)))";       \
 263        for comp_subdir in $${_TMP_comp_subdir};                        \
 264        do                                                              \
 265                [ -d $${comp_subdir} ] || $(MKDIR) $${comp_subdir};                             \
 266                ${MAKE} -C $${comp_subdir}                              \
 267                        MAKEFILES=${SOURCE}/$${comp_subdir}/Makefile    \
 268                        SOURCE=${SOURCE}$${comp_subdir}/                \
 269                        TARGET=$${TARGET}                               \
 270                build_all;                                              \
 271        done;                                                           \
 272        ${MAKE} ${MAKEJOBS} INCL_MAKEDEP=TRUE TARGET=$${TARGET} do_build_all;   \
 273        _TMP_comp_subdir="$(CONFIG_SUBDIRS) $($(addprefix CONFIG_SUBDIRS_, $(ARCH_CONFIG)))";   \
 274        for comp_subdir in $${_TMP_comp_subdir};                        \
 275        do                                                              \
 276                [ -d $${comp_subdir} ] || $(MKDIR) $${comp_subdir};                             \
 277                ${MAKE} -C $${comp_subdir}                              \
 278                        MAKEFILES=${SOURCE}/$${comp_subdir}/Makefile    \
 279                        SOURCE=${SOURCE}$${comp_subdir}/                \
 280                        TARGET=$${TARGET}                               \
 281                build_all;                                              \
 282        done;                                                           \
 283        
 284
 285#
 286# Build all architectures for all Configuration/Architecture options
 287#
 288mach_kernel:
 289        @echo "[ $(SOURCE) ] make mach_kernel";                         \
 290        for kernel_config in $(KERNEL_CONFIGS);                         \
 291        do                                                              \
 292        for arch_config in $(ARCH_CONFIGS);                             \
 293        do                                                              \
 294        build_subdir=${OBJROOT}/$${kernel_config}_$${arch_config};      \
 295        [ -d $${build_subdir} ] || $(MKDIR) $${build_subdir};                                   \
 296        ${MAKE} -C $${build_subdir}                                     \
 297                KERNEL_CONFIG=$${kernel_config}                         \
 298                ARCH_CONFIG=$${arch_config}                             \
 299                MAKEFILES=${SOURCE}/Makefile                            \
 300                SOURCE=${SOURCE}/                                       \
 301                TARGET=$${build_subdir}/                                \
 302                build_mach_kernel;                                      \
 303        done;                                                           \
 304        done;
 305
 306#
 307# Build all architectures for all Configuration/Architecture options
 308#
 309do_build_mach_kernel:
 310
 311build_mach_kernel: 
 312        @echo "[ $(SOURCE) ] make build_mach_kernel $(COMPONENT) $(KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";    \
 313        ${MAKE} ${MAKEJOBS} do_build_mach_kernel;
 314
 315
 316#
 317#
 318# Install dependencies order
 319#
 320.ORDER: installhdrs exporthdrs all
 321
 322#
 323# Install kernel based on RC_ARCHS for all INSTALL_TYPES
 324# Install kernel header files based on RC_ARCHS
 325#
 326install: installhdrs all installman
 327        @echo "[ $(SOURCE) ] make install";                             \
 328        rel_path=$(shell $(RELPATH) $(SRCROOT) $(SOURCE));                      \
 329        for kernel_config in $(INSTALL_TYPE);                           \
 330        do                                                              \
 331        for arch_config in $(INSTALL_ARCHS);                            \
 332        do                                                              \
 333        install_subdir=${OBJROOT}/$${kernel_config}_$${arch_config}/$${rel_path};       \
 334        [ -d $${install_subdir} ] || $(MKDIR) $${install_subdir};                                       \
 335        ${MAKE} -C $${install_subdir}                                   \
 336                KERNEL_CONFIG=$${kernel_config}                         \
 337                ARCH_CONFIG=$${arch_config}                             \
 338                MAKEFILES=${SOURCE}/Makefile                            \
 339                SOURCE=${SOURCE}/                                       \
 340                build_install;                                          \
 341        done;                                                           \
 342        done;
 343
 344#
 345# Install for all architectures for all Configuration/Architecture options
 346#
 347setup_build_install:
 348
 349do_build_install:
 350
 351build_install: 
 352        @TARGET=${OBJROOT}/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT);        \
 353        echo "[ $(SOURCE) ] make build_install $(COMPONENT) $(KERNEL_CONFIG) $(ARCH_CONFIG) $${TARGET}";        \
 354        ${MAKE} TARGET=$${TARGET} setup_build_install;                  \
 355        kernel_config=$(KERNEL_CONFIG);                                 \
 356        for install_subdir in $(INST_SUBDIRS);                          \
 357        do                                                              \
 358                [ -d $${install_subdir} ] || $(MKDIR) $${install_subdir};                               \
 359                ${MAKE} -C $${install_subdir}                           \
 360                        KERNEL_CONFIG=$${kernel_config}                 \
 361                        MAKEFILES=${SOURCE}/$${install_subdir}/Makefile \
 362                        SOURCE=${SOURCE}$${install_subdir}/             \
 363                        TARGET=$${TARGET}                               \
 364                build_install;                                          \
 365        done;                                                           \
 366        ${MAKE} ${MAKEJOBS} TARGET=$${TARGET} do_build_install;
 367
 368
 369#
 370# Install source tree
 371#
 372installsrc:
 373        pax -rw . ${SRCROOT}
 374
 375
 376
 377#
 378# Clean up source tree
 379#
 380clean:
 381
 382#
 383# Build source file list for cscope database and tags
 384#
 385cscope.files:
 386        @echo "Building file list for cscope and tags"
 387        @find . -name '*.h' -type f > _cscope.files 2> /dev/null
 388        @echo bsd/ufs/ufs/ufs_readwrite.c >> _cscope.files 2> /dev/null
 389        @for i in `echo ${ALL_SUBDIRS}`; \
 390        do \
 391                cat ${SRCROOT}/$${i}/conf/files ${SRCROOT}/$${i}/conf/files.ppc; \
 392                cat ${SRCROOT}/$${i}/conf/files.i386; \
 393        done | \
 394        sed -e '/^#/d' -e '/^[  ]*$$/d' -e '/^OPTIONS\//d' | \
 395        sed -e '1,$$s/^\([^     ]*\)[   ].*$$/\1/' >> _cscope.files 2> /dev/null
 396        @sort < _cscope.files > cscope.files 2> /dev/null
 397        @rm -f _cscope.files 2> /dev/null
 398
 399#
 400# Build cscope database
 401#
 402cscope: cscope.files
 403        @echo "Building cscope database"
 404        @cscope -b 2> /dev/null
 405
 406#
 407# Build tags
 408#
 409
 410tags: cscope.files
 411        @echo "Building ctags"
 412        @-xargs ctags -dtw < cscope.files 2> /dev/null || \
 413                echo "Phantom files detected!" 2>&1 > /dev/null
 414        @echo "Building etags"
 415        @-cat cscope.files | etags -l auto -S - 2> /dev/null
 416
 417#
 418# Install Man Pages
 419#
 420installman:
 421        @echo "[ $(SRCROOT) ] Installing man pages"; \
 422        manpath=$(DSTROOT)/$(MANDIR);   \
 423        [ -d $$manpath ] || $(MKDIR) $$manpath;             \
 424        ${MAKE} MAKEFILES=${SOURCE}/Makefile \
 425                SOURCE=${SOURCE}/ \
 426                TARGET=${DSTROOT}/ \
 427                build_installman
 428
 429do_installman:
 430
 431build_installman:
 432        @echo "[ $(SOURCE) ] make build_installman";    \
 433        if [ -n "$(strip $(INSTMAN_SUBDIRS))" ]; then \
 434                for installman_subdir in $(INSTMAN_SUBDIRS); do \
 435                        ${MAKE} -C $${installman_subdir} -r \
 436                                MAKEFILES=$(SOURCE)$${installman_subdir}/Makefile \
 437                                SOURCE=$(SOURCE)$${installman_subdir}/ \
 438                                TARGET=$(TARGET)$${installman_subdir}/ \
 439                                build_installman; \
 440                done; \
 441        fi; \
 442        if [ -n "$(strip $(INSTALL_MAN_LIST))" ]; then \
 443                ${MAKE} ${MAKEJOBS} do_installman; \
 444        fi
 445
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.