The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/intel/Makefile

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 # uts/intel/Makefile
   22 #
   23 # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
   24 #
   25 #       This makefile drives the production of all implementation architecture
   26 #       independent modules for Intel processors.
   27 
   28 UTSBASE = ..
   29 
   30 include Makefile.intel
   31 
   32 LINT_KMODS_X1   = $(LINT_KMODS:nsmb=)
   33 LINT_KMODS_X2   = $(LINT_KMODS_X1:smbfs=)
   34 LINT_KMODLIBS   = $(LINT_KMODS_X2:e1000g=)
   35 LINT_LIBS       = $(LINT_LIB) $(GEN_LINT_LIB) \
   36                   $(LINT_KMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
   37                   $(CLOSED_LINT_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) 
   38 
   39 # EXPORT DELETE START
   40 $(CLOSED_BUILD)LINT_LIBS        += $(SVVS_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln)
   41 $(CLOSED_BUILD)LINT_CLOSED_XMOD4        = $(CLOSED_XMODS:bnx=)
   42 $(CLOSED_BUILD)LINT_CLOSED_XMOD3        = $(LINT_CLOSED_XMOD4:bnxe=)
   43 $(CLOSED_BUILD)LINT_CLOSED_XMOD2        = $(LINT_CLOSED_XMOD3:lsimega=)
   44 $(CLOSED_BUILD)LINT_CLOSED_XMOD1        = $(LINT_CLOSED_XMOD2:adpu320=)
   45 $(CLOSED_BUILD)LINT_LIBS        += $(LINT_XMODLIBS:%=$(LINT_LIB_DIR)/llib-l%.ln)
   46 
   47 #
   48 # dprov is delivered in the SUNWcryptoint package.
   49 #
   50 DRV_KMODS       += dprov
   51 
   52 # EXPORT DELETE END
   53 
   54 #
   55 #
   56 def             :=      TARGET= def
   57 def.prereq      :=      TARGET= def
   58 all             :=      TARGET= all
   59 all.prereq      :=      TARGET= all
   60 install         :=      TARGET= install
   61 install.prereq  :=      TARGET= all
   62 clean           :=      TARGET= clean
   63 clobber         :=      TARGET= clobber
   64 lint            :=      TARGET= lint
   65 lint.prereq     :=      TARGET= lint
   66 modlintlib      :=      TARGET= modlintlib
   67 modlist         :=      TARGET= modlist
   68 modlist         :=      NO_STATE= -K $$MODSTATE$$$$
   69 clean.lint      :=      TARGET= clean.lint
   70 check           :=      TARGET= check
   71 install_h       :=      TARGET= install_h
   72 install_h.prereq        :=      TARGET= install_h
   73 
   74 .KEEP_STATE:
   75 
   76 .PARALLEL:      $(PARALLEL_KMODS) $(CLOSED_KMODS) $(SVVS) $(XMODS) \
   77                 $(CLOSED_XMODS) config $(LINT_DEPS)
   78 
   79 def all install clean clobber modlist: $(KMODS) $(CLOSED_KMODS) \
   80         $(SVVS) $(XMODS) $(CLOSED_XMODS) config
   81 
   82 
   83 #
   84 # Privilege constants
   85 #
   86 # NOTE: The rules for generating priv_const.c file are shared between all
   87 # processor architectures and and should be kept in sync. If they are changed in
   88 # this file make sure that sparc rules are updated as well.
   89 #
   90 PRIVS_C = $(SRC)/uts/common/os/priv_const.c
   91 
   92 $(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
   93         $(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
   94 
   95 #
   96 # Prerequisites
   97 #
   98 # The uts/Makefile defines build parallelism for x86 platforms such that i86pc,
   99 # i86xpv and intel are all built in parallel. This requires building certain
  100 # parts before the parallel build can start. The uts/Makefile appends the
  101 # '.prereq' string to the original target and executes this Makefile to build
  102 # any prerequisites needed before the full parallel build can start. After that
  103 # make continues with normal targets.
  104 #
  105 # Any build prerequisites for x86 builds should be described here.
  106 #
  107 # genassym is used to build intel/dtrace and genunix, so it should be built
  108 # first.
  109 #
  110 # priv_const.c is required to build genunix.
  111 #
  112 # genunix is used by everyone to ctf-merge with. Genunix is CTF-merged with
  113 #   intel/ip so as a side effect this dependency builds intel/ip as part of the
  114 #   prerequisites.
  115 #
  116 # intel/dtrace depends on i86pc/genassym, so we need to build both
  117 # i86pc/genassym and intel/genassym.
  118 #
  119 all.prereq install.prereq def.prereq: genunix FRC
  120         @cd ../i86pc/genassym; pwd; $(MAKE) $(@:%.prereq=%)
  121 
  122 #
  123 # i86pc lint libraries should be built first
  124 #
  125 lint.prereq: FRC
  126         @cd ../i86pc; pwd; $(MAKE) $(NO_STATE) lint
  127 
  128 #
  129 # Nothing to do for any other prerequisite targets.
  130 #
  131 %.prereq:
  132 
  133 genunix: $(PRIVS_C)
  134 
  135 modlintlib clean.lint: $(LINT_KMODS) $(CLOSED_LINT_KMODS) $(SVVS) \
  136         $(XMODS) $(CLOSED_XMODS)
  137 
  138 $(KMODS) $(SUBDIRS) config:     FRC
  139         @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
  140 
  141 $(CLOSED_KMODS):        FRC
  142         cd $(CLOSED)/uts/intel/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
  143 
  144 $(XMODS):       FRC
  145         @if [ -f $@/Makefile  ]; then \
  146                 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
  147         else \
  148                 true; \
  149         fi
  150 
  151 $(SVVS) $(CLOSED_XMODS):        FRC
  152         @if [ -f $(CLOSED)/uts/intel/$@/Makefile  ]; then \
  153                 cd $(CLOSED)/uts/intel/$@; pwd; \
  154                     $(MAKE) $(NO_STATE) $(TARGET); \
  155         else \
  156                 true; \
  157         fi
  158 
  159 install_h check:        FRC
  160         @cd sys; pwd; $(MAKE) $(TARGET)
  161         @cd asm; pwd; $(MAKE) $(TARGET)
  162         @cd ia32/sys; pwd; $(MAKE) $(TARGET)
  163         @cd amd64/sys; pwd; $(MAKE) $(TARGET)
  164 
  165 #
  166 # Work-around to disable acpica global crosscheck lint warnings
  167 #
  168 LGREP.intel =   grep -v 'intel/io/acpica'
  169 
  170 #
  171 #       Full kernel lint target.
  172 #
  173 LINT_TARGET     = globallint
  174 
  175 # workaround for multiply defined errors
  176 globallint := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
  177 
  178 globallint:
  179         @pwd
  180         @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
  181         @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.intel) | $(LGREP.2)
  182 
  183 lint:   modlintlib .WAIT $(LINT_DEPS)
  184 
  185 # EXPORT DELETE START
  186 
  187 EXPORT_SRC:
  188         $(RM) Makefile+
  189         sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
  190             < Makefile > Makefile+
  191         $(MV) Makefile+ Makefile
  192         $(CHMOD) 444 Makefile
  193 
  194 # EXPORT DELETE END
  195 
  196 include ../Makefile.targ

Cache object: ec206b0ce4a3bb816e1781eb0f30a423


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.