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 #ident  "%Z%%M% %I%     %E% SMI"
  23 #
  24 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  25 # Use is subject to license terms.
  26 #
  27 # uts/sparc/Makefile
  28 #
  29 #       This makefile drives the production of all implementation architecture
  30 #       independent modules for the SPARC processor. (For those unsure, this
  31 #       means the module will run on all SPARC processor based machines
  32 #       running SunOS.)
  33 
  34 UTSBASE = ..
  35 
  36 include Makefile.sparc
  37 
  38 LINT_KMODS_X1   = $(LINT_KMODS:nsmb=)
  39 LINT_KMODS_X2   = $(LINT_KMODS_X1:smbfs=)
  40 LINT_KMODLIBS   = $(LINT_KMODS_X2:e1000g=)
  41 LINT_LIBS       = $(LINT_LIB) $(GEN_LINT_LIB) \
  42                   $(LINT_KMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  43 
  44 $(CLOSED_BUILD)LINT_LIBS += $(CLOSED_LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  45 
  46 $(CLOSED_BUILD)LINT_LIBS        += $(SVVS_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  47 LINT_LIBS       += $(LINT_XMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  48 $(CLOSED_BUILD)LINT_LIBS += $(CLOSED_XMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
  49 
  50 DRV_KMODS       += dprov
  51 
  52 def             :=      TARGET= def
  53 all             :=      TARGET= all
  54 install         :=      TARGET= install
  55 clean           :=      TARGET= clean
  56 clobber         :=      TARGET= clobber
  57 lint            :=      TARGET= lint
  58 modlintlib      :=      TARGET= modlintlib
  59 modlist         :=      TARGET= modlist
  60 modlist         :=      NO_STATE= -K $$MODSTATE$$$$
  61 clean.lint      :=      TARGET= clean.lint
  62 check           :=      TARGET= check
  63 install_h       :=      TARGET= install_h
  64 
  65 .KEEP_STATE:
  66 
  67 .PARALLEL:      $(PARALLEL_KMODS) $(CLOSED_KMODS) $(SVVS) $(XMODS) \
  68                 $(CLOSED_XMODS) config $(LINT_DEPS)
  69 
  70 def all install clean clobber modlist: $(KMODS) $(CLOSED_KMODS) $(SVVS) \
  71         $(XMODS) $(CLOSED_XMODS) config
  72 
  73 modlintlib clean.lint: $(LINT_KMODS) $(CLOSED_LINT_KMODS) $(SVVS) \
  74         $(XMODS) $(CLOSED_XMODS)
  75 
  76 $(KMODS) config:        FRC
  77         @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
  78 
  79 $(CLOSED_KMODS):        FRC
  80         cd $(CLOSED)/uts/sparc/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
  81 
  82 $(XMODS):       FRC
  83         @if [ -f $@/Makefile  ]; then \
  84                 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
  85         else \
  86                 true; \
  87         fi
  88 
  89 $(SVVS) $(CLOSED_XMODS):        FRC
  90         @if [ -f $(CLOSED)/uts/sparc/$@/Makefile  ]; then \
  91                 cd $(CLOSED)/uts/sparc/$@; pwd; \
  92                     $(MAKE) $(NO_STATE) $(TARGET); \
  93         else \
  94                 true; \
  95         fi
  96 
  97 install_h check:        FRC
  98         @cd asm; pwd; $(MAKE) $(TARGET)
  99         @cd sys; pwd; $(MAKE) $(TARGET)
 100         @cd v7/sys; pwd; $(MAKE) $(TARGET)
 101         @cd v9/sys; pwd; $(MAKE) $(TARGET)
 102 
 103 #
 104 #       Full kernel lint target.
 105 #
 106 LINT_TARGET     = globallint
 107 
 108 globallint:
 109         @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
 110         @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
 111 
 112 lint:   modlintlib .WAIT $(LINT_DEPS)
 113 
 114 include ../Makefile.targ