1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 #
  22 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 # uts/sparc/Makefile
  26 #
  27 #       This makefile drives the production of all implementation architecture
  28 #       independent modules for the SPARC processor. (For those unsure, this
  29 #       means the module will run on all SPARC processor based machines
  30 #       running SunOS.)
  31 
  32 UTSBASE = ..
  33 
  34 include Makefile.sparc
  35 
  36 LINT_KMODS_X1   = $(LINT_KMODS:nsmb=)
  37 LINT_KMODS_X2   = $(LINT_KMODS_X1:smbfs=)
  38 LINT_KMODLIBS   = $(LINT_KMODS_X2:e1000g=)
  39 LINT_LIBS       = $(LINT_LIB) $(GEN_LINT_LIB) \
  40                   $(LINT_KMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  41 
  42 $(CLOSED_BUILD)LINT_LIBS += $(CLOSED_LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  43 
  44 $(CLOSED_BUILD)LINT_LIBS        += $(SVVS_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  45 LINT_LIBS       += $(LINT_XMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  46 $(CLOSED_BUILD)LINT_LIBS += $(CLOSED_XMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  47 
  48 DRV_KMODS       += dprov
  49 
  50 def             :=      TARGET= def
  51 all             :=      TARGET= all
  52 install         :=      TARGET= install
  53 clean           :=      TARGET= clean
  54 clobber         :=      TARGET= clobber
  55 lint            :=      TARGET= lint
  56 modlintlib      :=      TARGET= modlintlib
  57 modlist         :=      TARGET= modlist
  58 modlist         :=      NO_STATE= -K $$MODSTATE$$$$
  59 clean.lint      :=      TARGET= clean.lint
  60 check           :=      TARGET= check
  61 install_h       :=      TARGET= install_h
  62 
  63 .KEEP_STATE:
  64 
  65 .PARALLEL:      $(PARALLEL_KMODS) $(CLOSED_KMODS) $(SVVS) $(XMODS) \
  66                 $(CLOSED_XMODS) config $(LINT_DEPS)
  67 
  68 def all install clean clobber modlist: $(KMODS) $(CLOSED_KMODS) $(SVVS) \
  69         $(XMODS) $(CLOSED_XMODS) config
  70 
  71 modlintlib clean.lint: $(LINT_KMODS) $(CLOSED_LINT_KMODS) $(SVVS) \
  72         $(XMODS) $(CLOSED_XMODS)
  73 
  74 $(KMODS) config:        FRC
  75         @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
  76 
  77 $(CLOSED_KMODS):        FRC
  78         cd $(CLOSED)/uts/sparc/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
  79 
  80 $(XMODS):       FRC
  81         @if [ -f $@/Makefile  ]; then \
  82                 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
  83         else \
  84                 true; \
  85         fi
  86 
  87 $(SVVS) $(CLOSED_XMODS):        FRC
  88         @if [ -f $(CLOSED)/uts/sparc/$@/Makefile  ]; then \
  89                 cd $(CLOSED)/uts/sparc/$@; pwd; \
  90                     $(MAKE) $(NO_STATE) $(TARGET); \
  91         else \
  92                 true; \
  93         fi
  94 
  95 install_h check:        FRC
  96         @cd asm; pwd; $(MAKE) $(TARGET)
  97         @cd sys; pwd; $(MAKE) $(TARGET)
  98         @cd v7/sys; pwd; $(MAKE) $(TARGET)
  99         @cd v9/sys; pwd; $(MAKE) $(TARGET)
 100 
 101 #
 102 #       Full kernel lint target.
 103 #
 104 LINT_TARGET     = globallint
 105 
 106 globallint:
 107         @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
 108         @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
 109 
 110 lint:   modlintlib .WAIT $(LINT_DEPS)
 111 
 112 include ../Makefile.targ