Print this page
    
DLPX-25998 TCP congestion control is inadequate
Reviewed at: http://reviews.delphix.com/r/34808/
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/uts/Makefile.targ
          +++ new/usr/src/uts/Makefile.targ
   1    1  #
   2    2  # CDDL HEADER START
   3    3  #
   4    4  # The contents of this file are subject to the terms of the
   5    5  # Common Development and Distribution License (the "License").
   6    6  # You may not use this file except in compliance with the License.
   7    7  #
   8    8  # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9  # or http://www.opensolaris.org/os/licensing.
  10   10  # See the License for the specific language governing permissions
  11   11  # and limitations under the License.
  12   12  #
  13   13  # When distributing Covered Code, include this CDDL HEADER in each
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  
    | 
      ↓ open down ↓ | 
    15 lines elided | 
    
      ↑ open up ↑ | 
  
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  22   22  # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23  # Copyright 2015, Joyent, Inc.
  24   24  # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  25   25  # Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
       26 +# Copyright (c) 2017 by Delphix. All rights reserved.
  26   27  #
  27   28  #       This Makefiles contains the common targets and definitions for
  28   29  #       all kernels. It is to be included in the Makefiles for specific
  29   30  #       implementation architectures and processor architecture dependent
  30   31  #       modules: i.e.: all driving kernel Makefiles.
  31   32  #
  32   33  
  33   34  #
  34   35  #       Default rule for building the lint library directory:
  35   36  #
  36   37  $(LINT_LIB_DIR):
  37   38          -@mkdir -p $@ 2> /dev/null
  38   39  
  39   40  #
  40   41  #       All C objects depend on inline files. However, cc(1) doesn't generate
  41   42  #       the correct dependency info. Also, these Makefiles don't contain a
  42   43  #       separate list of C-derived object files (but it is light weight to
  43   44  #       let the assembler files think they depend upon this when they don't).
  44   45  #       Fortunately, the inline files won't change very often. So, for now,
  45   46  #       all objects depend on the inline files. Remove this when the inliner
  46   47  #       is fixed to drop correct dependency information.
  47   48  #
  48   49  $(OBJECTS): $(INLINES)
  49   50  
  50   51  #
  51   52  #       Partially link .o files to generate the kmod. The fake dependency
  52   53  #       on modstubs simplifies things...
  53   54  #
  54   55  $(BINARY):              $(OBJECTS) $(DTRACE_MAPFILE)
  55   56          $(LD) -r $(LDFLAGS) -o $@ $(OBJECTS)
  56   57          $(CTFMERGE_UNIQUIFY_AGAINST_GENUNIX)
  57   58          $(POST_PROCESS)
  58   59  
  59   60  #
  60   61  #       This target checks each kmod for undefined entry points. It does not
  61   62  #       modify the kmod in any way.
  62   63  #
  63   64  $(MODULE).check:        FRC
  64   65          @BUILD_TYPE=DBG32 $(MAKE) $(MODULE).check.targ
  65   66  
  66   67  $(MODULE).check.targ:   $(BINARY) $(OBJECTS) $(EXTRA_CHECK_OBJS) $(UNIX_O) $(MODSTUBS_O) $(GENLIB)
  67   68          $(LD) -o /dev/null $(OBJECTS) $(EXTRA_CHECK_OBJS) $(UNIX_O) $(MODSTUBS_O) $(GENLIB)
  68   69  
  69   70  #
  70   71  #       Module lint library construction targets.
  71   72  #
  72   73  MOD_LINT_LIB    = $(LINT_LIB_DIR)/llib-l$(LINT_MODULE).ln
  73   74  
  74   75  $(MOD_LINT_LIB):        $(LINT_LIB_DIR) $(LINTS)
  75   76          @-$(ECHO) "\n$(OBJS_DIR)/$(MODULE): (library construction):"
  76   77          @($(LINT) -o $(LINT_MODULE)-$(OBJS_DIR) \
  77   78                  $(LINTFLAGS) $(LINTS) $(LTAIL))
  78   79          @$(MV) llib-l$(LINT_MODULE)-$(OBJS_DIR).ln $@
  79   80  
  80   81  $(LINT_MODULE).lint:    $(MOD_LINT_LIB) $(LINT_LIB) $(GEN_LINT_LIB)
  81   82          @-$(ECHO) "\n$(OBJS_DIR)/$(LINT_MODULE): global crosschecks:"
  82   83          @($(LINT) $(LINTFLAGS) $(MOD_LINT_LIB) \
  83   84                  $(LINT_LIB) $(GEN_LINT_LIB) $(LTAIL))
  84   85  
  85   86  #
  86   87  # Since assym.h is a derived file, the dependency must be explicit for
  87   88  # all files including this file. (This is only actually required in the
  88   89  # instance when the .nse_depinfo file does not exist.) It may seem that
  89   90  # the lint targets should also have a similar dependency, but they don't
  90   91  # since only C headers are included when #defined(lint) is true. The
  91   92  # actual lists are defined in */Makefile.files.
  92   93  #
  93   94  $(ASSYM_DEPS:%=$(OBJS_DIR)/%):  $(DSF_DIR)/$(OBJS_DIR)/assym.h
  94   95  
  95   96  #
  96   97  #       Everybody need to know how to create a modstubs.o built with the
  97   98  #       appropriate flags and located in the appropriate location.
  98   99  #
  99  100  $(MODSTUBS_O):  $(MODSTUBS)
 100  101          $(COMPILE.s) -o $@ $(MODSTUBS)
 101  102  
 102  103  $(LINTS_DIR)/modstubs.ln:       $(MODSTUBS)
 103  104          @($(LHEAD) $(LINT.s) $(MODSTUBS) $(LTAIL))
 104  105  
 105  106  #
 106  107  # Build the source file which contains the kernel's utsname,
 107  108  # with release, version and machine set as follows:
 108  109  #
 109  110  #       release: contents of $(RELEASE) (Spaces replaced by '_')
 110  111  #       version: contents of $(PATCHID) (Spaces replaced by '_')
 111  112  #       machine: contents of $(UNAME_M)
 112  113  #
 113  114  # Build environment information is only contained in the comment section.
 114  115  #
 115  116  
 116  117  $(OBJS_DIR)/vers.o: $(OBJECTS)
 117  118          $(COMPILE.c) -DUTS_RELEASE=\"`$(ECHO) $(RELEASE) | sed -e 's/ /_/g'`\" \
 118  119              -DUTS_VERSION=\"`$(ECHO) $(PATCHID) | sed -e 's/ /_/g'`\" \
 119  120              -DUTS_PLATFORM=\"$(UNAME_M)\" -o $@ $(SRC)/uts/common/os/vers.c
 120  121          $(CTFCONVERT_O)
 121  122          $(POST_PROCESS_O)
 122  123  
 123  124  $(LINTS_DIR)/vers.ln: $(SRC)/uts/common/os/vers.c
 124  125          @($(LHEAD) $(LINT.c) -DUTS_RELEASE=\"\" -DUTS_VERSION=\"\" \
 125  126              -DUTS_PLATFORM=\"\" $(SRC)/uts/common/os/vers.c $(LTAIL))
 126  127  
 127  128  #
 128  129  #       Installation targets and rules:
 129  130  #
 130  131  $(ROOT_MOD_DIR) $(USR_MOD_DIR):
 131  132          -$(INS.dir)
 132  133  
 133  134  $(ROOT_MOD_DIRS_32):    $(ROOT_MOD_DIR)
 134  135          -$(INS.dir)
 135  136  
 136  137  $(USR_MOD_DIRS_32):     $(USR_MOD_DIR)
 137  138          -$(INS.dir)
 138  139  
 139  140  $(ROOT_MOD_DIR)/%:      $(OBJS_DIR)/% $(ROOT_MOD_DIR) FRC
 140  141          $(INS.file)
 141  142  
 142  143  $(ROOT_CPU_DIR)/%:      $(OBJS_DIR)/% $(ROOT_CPU_DIR) FRC
 143  144          $(INS.file)
 144  145  
 145  146  $(ROOT_DRV_DIR)/%:      $(OBJS_DIR)/% $(ROOT_DRV_DIR) FRC
 146  147          $(INS.file)
 147  148  
 148  149  $(ROOT_DTRACE_DIR)/%:   $(OBJS_DIR)/% $(ROOT_DTRACE_DIR) FRC
 149  150          $(INS.file)
 150  151  
 151  152  $(ROOT_EXEC_DIR)/%:     $(OBJS_DIR)/% $(ROOT_EXEC_DIR) FRC
 152  153          $(INS.file)
 153  154  
 154  155  $(ROOT_FS_DIR)/%:       $(OBJS_DIR)/% $(ROOT_FS_DIR) FRC
 155  156          $(INS.file)
 156  157  
 157  158  $(ROOT_SCHED_DIR)/%:    $(OBJS_DIR)/% $(ROOT_SCHED_DIR) FRC
 158  159          $(INS.file)
 159  160  
 160  161  $(ROOT_SOCK_DIR)/%:     $(OBJS_DIR)/% $(ROOT_SOCK_DIR) FRC
 161  162          $(INS.file)
 162  163  
 163  164  $(ROOT_STRMOD_DIR)/%:   $(OBJS_DIR)/% $(ROOT_STRMOD_DIR) FRC
 164  165          $(INS.file)
 165  166  
 166  167  $(ROOT_IPP_DIR)/%:      $(OBJS_DIR)/% $(ROOT_IPP_DIR) FRC
 167  168          $(INS.file)
 168  169  
 169  170  $(ROOT_SYS_DIR)/%:      $(OBJS_DIR)/% $(ROOT_SYS_DIR) FRC
 170  171          $(INS.file)
  
    | 
      ↓ open down ↓ | 
    135 lines elided | 
    
      ↑ open up ↑ | 
  
 171  172  
 172  173  $(ROOT_MISC_DIR)/%:     $(OBJS_DIR)/% $(ROOT_MISC_DIR) FRC
 173  174          $(INS.file)
 174  175  
 175  176  $(ROOT_DACF_DIR)/%:     $(OBJS_DIR)/% $(ROOT_DACF_DIR) FRC
 176  177          $(INS.file)
 177  178  
 178  179  $(ROOT_BRAND_DIR)/%:    $(OBJS_DIR)/% $(ROOT_BRAND_DIR) FRC
 179  180          $(INS.file)
 180  181  
      182 +$(ROOT_CC_DIR)/%:       $(OBJS_DIR)/% $(ROOT_MOD_DIR) $(ROOT_CC_DIR) FRC
      183 +        $(INS.file)
      184 +
 181  185  $(ROOT_CRYPTO_DIR)/%:   $(OBJS_DIR)/% $(ROOT_CRYPTO_DIR) FRC
 182  186          $(INS.file)
 183  187  
 184  188  $(ROOT_KGSS_DIR)/%:     $(OBJS_DIR)/% $(ROOT_KGSS_DIR) FRC
 185  189          $(INS.file)
 186  190  
 187  191  $(ROOT_SCSI_VHCI_DIR)/%: $(OBJS_DIR)/% $(ROOT_SCSI_VHCI_DIR) FRC
 188  192          $(INS.file)
 189  193  
 190  194  $(ROOT_PMCS_FW_DIR)/%:  $(OBJS_DIR)/% $(ROOT_PMCS_FW_DIR) FRC
 191  195          $(INS.file)
 192  196  
 193  197  $(ROOT_QLC_FW_DIR)/%:   $(OBJS_DIR)/% $(ROOT_QLC_FW_DIR) FRC
 194  198          $(INS.file)
 195  199  
 196  200  $(ROOT_EMLXS_FW_DIR)/%: $(OBJS_DIR)/% $(ROOT_EMLXS_FW_DIR) FRC
 197  201          $(INS.file)
 198  202  
 199  203  $(ROOT_MACH_DIR)/%:     $(OBJS_DIR)/% $(ROOT_MACH_DIR) FRC
 200  204          $(INS.file)
 201  205  
 202  206  $(ROOT_FONT_DIR)/%:     $(OBJS_DIR)/% $(ROOT_MOD_DIR) $(ROOT_FONT_DIR) FRC
 203  207          $(INS.file)
 204  208  
 205  209  $(ROOT_MAC_DIR)/%:      $(OBJS_DIR)/% $(ROOT_MOD_DIR) $(ROOT_MAC_DIR) FRC
 206  210          $(INS.file)
 207  211  
 208  212  $(ROOT_OVERLAY_DIR)/%:  $(OBJS_DIR)/% $(ROOT_MOD_DIR) $(ROOT_OVERLAY_DIR) FRC
 209  213          $(INS.file)
 210  214  
 211  215  $(USR_DRV_DIR)/%:       $(OBJS_DIR)/% $(USR_DRV_DIR) FRC
 212  216          $(INS.file)
 213  217  
 214  218  $(USR_EXEC_DIR)/%:      $(OBJS_DIR)/% $(USR_EXEC_DIR) FRC
 215  219          $(INS.file)
 216  220  
 217  221  $(USR_FS_DIR)/%:        $(OBJS_DIR)/% $(USR_FS_DIR) FRC
 218  222          $(INS.file)
 219  223  
 220  224  $(USR_SCHED_DIR)/%:     $(OBJS_DIR)/% $(USR_SCHED_DIR) FRC
 221  225          $(INS.file)
 222  226  
 223  227  $(USR_SOCK_DIR)/%:      $(OBJS_DIR)/% $(USR_SOCK_DIR) FRC
 224  228          $(INS.file)
 225  229  
 226  230  $(USR_STRMOD_DIR)/%:    $(OBJS_DIR)/% $(USR_STRMOD_DIR) FRC
 227  231          $(INS.file)
 228  232  
 229  233  $(USR_SYS_DIR)/%:       $(OBJS_DIR)/% $(USR_SYS_DIR) FRC
 230  234          $(INS.file)
 231  235  
 232  236  $(USR_MISC_DIR)/%:      $(OBJS_DIR)/% $(USR_MISC_DIR) FRC
 233  237          $(INS.file)
 234  238  
 235  239  $(USR_DACF_DIR)/%:      $(OBJS_DIR)/% $(USR_DACF_DIR) FRC
 236  240          $(INS.file)
 237  241  
 238  242  $(USR_PCBE_DIR)/%:      $(OBJS_DIR)/% $(USR_PCBE_DIR) FRC
 239  243          $(INS.file)
 240  244  
 241  245  $(USR_DTRACE_DIR)/%:    $(OBJS_DIR)/% $(USR_DTRACE_DIR) FRC
 242  246          $(INS.file)
 243  247  
 244  248  $(USR_BRAND_DIR)/%:     $(OBJS_DIR)/% $(USR_BRAND_DIR) FRC
 245  249          $(INS.file)
 246  250  
 247  251  $(ROOT_KICONV_DIR)/%:   $(OBJS_DIR)/% $(ROOT_KICONV_DIR) FRC
 248  252          $(INS.file)
 249  253  
 250  254  $(ROOT_FIRMWARE_DIR)/$(MODULE):
 251  255          $(INS.dir)
 252  256  
 253  257  $(ROOT_FIRMWARE_DIR)/$(MODULE)/%:= FILEMODE = $(CFILEMODE)
 254  258  
 255  259  $(ROOT_FIRMWARE_DIR)/$(MODULE)/%: $(ROOT_FIRMWARE_DIR)/$(MODULE) $(FWDIR)/%
 256  260          $(INS.file)
 257  261  
 258  262  include $(SRC)/Makefile.psm.targ
 259  263  
 260  264  #
 261  265  #       Target for 64b modules
 262  266  #
 263  267  $(ROOT_KERN_DIR_64):
 264  268          -$(INS.dir)
 265  269  
 266  270  $(ROOT_KERN_DIR_64)/%:  $(OBJS_DIR)/% $(ROOT_KERN_DIR_64) FRC
 267  271          $(INS.file)
 268  272  
 269  273  %/$(SUBDIR64):          %
 270  274          -$(INS.dir)
 271  275  
 272  276  #
 273  277  #       Targets for '.conf' file installation.
 274  278  #
 275  279  $(ROOT_CONFFILE):       $(SRC_CONFFILE) $(ROOT_CONFFILE:%/$(CONFFILE)=%)
 276  280          $(INS.conffile)
 277  281  
 278  282  #
 279  283  #       Targets for creating links between common platforms. ROOT_PLAT_LINKS
 280  284  #       are are the /platform level while ROOT_PLAT_LINKS_2 are one level
 281  285  #       down (/platform/`uname -i`/{lib|sbin|kernel}.
 282  286  #
 283  287  $(ROOT_PLAT_LINKS):
 284  288          $(INS.slink1)
 285  289  
 286  290  $(ROOT_PLAT_LINKS_2):
 287  291          $(INS.slink2)
 288  292  
 289  293  $(USR_PLAT_LINKS):
 290  294          $(INS.slink1)
 291  295  
 292  296  $(USR_PLAT_LINKS_2):
 293  297          $(INS.slink2)
 294  298  
 295  299  #
 296  300  # multiple builds support
 297  301  #
 298  302  def $(DEF_DEPS)                 := TARGET = def
 299  303  all $(ALL_DEPS)                 := TARGET = all
 300  304  clean $(CLEAN_DEPS)             := TARGET = clean
 301  305  clobber $(CLOBBER_DEPS)         := TARGET = clobber
 302  306  lint $(LINT_DEPS)               := TARGET = lint
 303  307  modlintlib $(MODLINTLIB_DEPS)   := TARGET = modlintlib
 304  308  modlist $(MODLIST_DEPS)         := TARGET = modlist
 305  309  modlist $(MODLIST_DEPS)         := NO_STATE= -K $$MODSTATE$$$$
 306  310  clean.lint $(CLEAN_LINT_DEPS)   := TARGET = clean.lint
 307  311  install $(INSTALL_DEPS)         := TARGET = install
 308  312  symcheck $(SYM_DEPS)            := TARGET = symcheck
 309  313  
 310  314  ALL_TARGS       = def all clean clobber lint modlintlib \
 311  315                    clean.lint lintlib install symcheck
 312  316  
 313  317  ALL_OBJ64       = $(ALL_TARGS:%=%.obj64)
 314  318  
 315  319  $(ALL_OBJ64):   FRC
 316  320          @BUILD_TYPE=OBJ64 VERSION='$(VERSION)' $(MAKE) $(NO_STATE) $(TARGET).targ
 317  321  
 318  322  ALL_DEBUG64     = $(ALL_TARGS:%=%.debug64)
 319  323  
 320  324  $(ALL_DEBUG64): FRC
 321  325          @BUILD_TYPE=DBG64 VERSION='$(VERSION)' $(MAKE) $(NO_STATE) $(TARGET).targ
 322  326  
 323  327  #
 324  328  #       Currently only the IP module needs symbol checking on obj64.
 325  329  #       Other modules have the same global-objs nm output for debug64 and obj64.
 326  330  #
 327  331  $(SISCHECK_DEPS):       $(DEF_DEPS)
 328  332          @TARG=`$(ECHO) $@ | $(CUT) -d'.' -f2`; \
 329  333          MODSYMS=$(MODULE).symbols.$$TARG; \
 330  334          if [ -f "$(MODULE).global-objs.$$TARG" ]; then \
 331  335                  $(GREP) -v '#' $(MODULE).global-objs.$$TARG |$(GREP) . | \
 332  336                      $(SORT) -u > $$MODSYMS.tmp; \
 333  337                  $(NM) $$TARG/$(MODULE) |$(GREP) OBJT |$(GREP) -v UNDEF | \
 334  338                      $(CUT) -d'|' -f8 |$(GREP) -v '^___const_' | \
 335  339                      $(GREP) -v '\.[0-9]*$$' |$(SORT) -u \
 336  340                      > $$MODSYMS.tmp.new; \
 337  341                  $(DIFF) $$MODSYMS.tmp $$MODSYMS.tmp.new > $$MODSYMS.diff || \
 338  342                      ($(ECHO) "warning: $(MODULE) symbol checking:" \
 339  343                      "global variable(s) introduced and/or removed."; \
 340  344                      $(CAT) $$MODSYMS.diff; exit 1) \
 341  345          fi
 342  346  
 343  347  $(SISCLEAN_DEPS):
 344  348          -TARG=`$(ECHO) $@ | $(CUT) -d'.' -f2`; \
 345  349          MODSYMS=$(MODULE).symbols.$$TARG; \
 346  350          $(RM) $$MODSYMS.tmp $$MODSYMS.tmp.new $$MODSYMS.diff Nothing_to_remove
 347  351  
 348  352  
 349  353  $(OBJS_DIR):
 350  354          -@mkdir -p $@ 2> /dev/null
 351  355  
 352  356  def.targ:               $(OBJS_DIR) $(ALL_TARGET)
 353  357  
 354  358  all.targ:               $(OBJS_DIR) $(ALL_TARGET)
 355  359  
 356  360  lint.targ:              $(OBJS_DIR) $(LINT_TARGET)
 357  361  
 358  362  modlintlib.targ:        $(OBJS_DIR) $(MOD_LINT_LIB)
 359  363  
 360  364  install.targ:           $(OBJS_DIR) $(INSTALL_TARGET)
 361  365  
 362  366  #
 363  367  # Support for Install.sh.
 364  368  #
 365  369  
 366  370  modlist:        $(MODLIST_DEPS)
 367  371  
 368  372  # paths relative to $(ROOT).
 369  373  RELMODULE = $(ROOTMODULE:$(ROOT)/%=%)
 370  374  RELCONF = $(ROOT_CONFFILE:$(ROOT)/%=%)
 371  375  RELLINK = $(ROOTLINK:$(ROOT)/%=%)
 372  376  RELUNIX = $(UNIX32_LINK:$(ROOT)/%=%)
 373  377  RELSOFTLINKS = $(ROOTSOFTLINKS:$(ROOT)/%=%)
 374  378  
 375  379  MODSRC:sh=              pwd
 376  380  
 377  381  #
 378  382  # Generate module information for Install.sh, i.e., specify what files
 379  383  # Install.sh should include.  Each line looks like
 380  384  #   <tag> <srcdir> <arg1> <arg2> ...
 381  385  # where <tag> specifies the type of file, <srcdir> gives the source
 382  386  # path (useful if there is an error), and <argN> is one or more
 383  387  # additional bits of information that Install.sh needs (e.g., source
 384  388  # directory, install directory, filtering tags).  See Install.sh for
 385  389  # details on the arguments for each tag type, especially the functions
 386  390  # copymod, filtmod, and filtimpl.
 387  391  #
 388  392  # Changes to this target may require corresponding changes to
 389  393  # Install.sh.
 390  394  #
 391  395  # Don't issue a MOD entry if it's not in the install list.
 392  396  #
 393  397  
 394  398  $(MODLIST_DEPS): FRC
 395  399          @case $@ in \
 396  400          *32) \
 397  401                  class=32; \
 398  402                  [ -n "$(RELMODULE)" ] && relmodule=`dirname $(RELMODULE)`;; \
 399  403          *64) \
 400  404                  class=64; \
 401  405                  [ -n "$(RELMODULE)" ] && \
 402  406                      relmodule=`dirname $(RELMODULE)`/$(SUBDIR64);; \
 403  407          esac; \
 404  408          if [ -z "$(THISIMPL)" ]; then \
 405  409                  impl=all; \
 406  410          else \
 407  411                  impl=$(THISIMPL); \
 408  412          fi; \
 409  413          if [ -n "$(ROOTMODULE)" -a -n "$(INSTALL_TARGET)" ]; then \
 410  414                  if [ -z "$(MODULE)" ]; then \
 411  415                          module=`basename $(ROOTMODULE)`; \
 412  416                  else \
 413  417                          module=$(MODULE); \
 414  418                  fi; \
 415  419                  tinstall="$(INSTALL_TARGET)"; \
 416  420                  for t in $$tinstall; do \
 417  421                          if [ "$(ROOTMODULE)" = $$t ]; then \
 418  422                                  echo MOD $(MODSRC) $$module $$relmodule \
 419  423                                      $$class $$impl; \
 420  424                                  break; \
 421  425                          fi \
 422  426                  done \
 423  427          fi; \
 424  428          if [ -n "$(CONF_SRCDIR)" ]; then \
 425  429                  tinstall="$(INSTALL_TARGET)"; \
 426  430                  for t in $$tinstall; do \
 427  431                          if [ $(ROOT_CONFFILE) = $$t ]; then \
 428  432                                  echo CONF $(MODSRC) $(RELCONF) \
 429  433                                      $(MODSRC)/$(CONF_SRCDIR) $$impl $$module; \
 430  434                                  break; \
 431  435                          fi \
 432  436                  done \
 433  437          fi; \
 434  438          if [ -n "$(ROOTLINK)" ]; then \
 435  439                  rellinks="$(RELLINK)"; \
 436  440                  for r in $$rellinks; do \
 437  441                          if [ $$class = 32 ]; then \
 438  442                                  linkdir=`dirname $$r`; \
 439  443                          else \
 440  444                                  linkdir=`dirname $$r`/$(SUBDIR64); \
 441  445                          fi; \
 442  446                          echo LINK $(MODSRC) $$relmodule $$module \
 443  447                                  $$linkdir `basename $$r` $$impl; \
 444  448                  done \
 445  449          fi; \
 446  450          if [ -n "$(UNIX32_LINK)" ]; then \
 447  451                  echo SYMLINK $(MODSRC) $(SUBDIR64)/$(UNIX) \
 448  452                      `dirname $(RELUNIX)` unix $$impl $$module; \
 449  453          fi; \
 450  454          trelsoftlinks="$(RELSOFTLINKS)"; \
 451  455          for t in $$trelsoftlinks; do \
 452  456                  if [ $$class = 32 ]; then \
 453  457                          linkdir=`dirname $$t`; \
 454  458                  else \
 455  459                          linkdir=`dirname $$t`/$(SUBDIR64); \
 456  460                  fi; \
 457  461                  linkname=`basename $$t`; \
 458  462                  echo SYMLINK $(MODSRC) $(MODULE) $$linkdir $$linkname \
 459  463                      $$impl $$module; \
 460  464          done
 461  465  
 462  466  #
 463  467  #       Cleanliness is next to ...
 464  468  #
 465  469  clean.targ:
 466  470          -$(RM) $(CLEANFILES) Nothing_to_remove
 467  471  
 468  472  clobber.targ:
 469  473          -$(RM) $(CLOBBERFILES) Nothing_to_remove
 470  474  
 471  475  clean.lint.targ:
 472  476          -$(RM) $(CLEANLINTFILES) Nothing_to_remove
 473  477  
 474  478  #
 475  479  #       Create fake lintlibs in the 64b dirs so
 476  480  #       global linting works
 477  481  #
 478  482  lint64:
 479  483          @$(ECHO) $(MODULE) fake lints
 480  484          @for dir in $(LINT64_DIRS); do \
 481  485                  if [ ! -d $$dir ]; then mkdir $$dir; fi \
 482  486          done
 483  487          @for file in $(LINT64_FILES); do \
 484  488                  if [ ! -f $$file ]; then touch $$file; fi \
 485  489          done
 486  490  
 487  491  FRC:
  
    | 
      ↓ open down ↓ | 
    297 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX