9597 Want hypervisor API for FPU management
[unleashed.git] / usr / src / uts / i86pc / Makefile
blob64ac8100473cb59f69bd7b626bd5cc27e9588c1b
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
25 # This makefile drives the production of all implementation architecture
26 # dependent modules for the i86pc architecture.
29 UTSBASE = ..
31 include Makefile.i86pc
34 # The following are x86 specific (rather than i86pc) specific modules
35 # which are required for the i86pc kernel to completely lint. They are
36 # not involved in the build in any other way. In order to minimize
37 # build time, it is assumed that they are up to date.
39 INTEL_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
41 INTEL_LINTS = genunix
43 LINT_LIBS = \
44 $(GENUNIX_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
45 $(PARALLEL_KMODS:%=$(LINT_LIB_DIR)/llib-l%.ln) \
46 $(INTEL_LINTS:%=$(INTEL_LIB_DIR)/llib-l%.ln)
48 I86PC_LINTS = dr drmach_acpi
53 def := TARGET= def
54 all := TARGET= all
55 install := TARGET= install
56 install_h := TARGET= install_h
57 clean := TARGET= clean
58 clobber := TARGET= clobber
59 lint := TARGET= lint
60 lintlib := TARGET= lintlib
61 machmodlintlib := TARGET= modlintlib
62 modlist := TARGET= modlist
63 modlist modlist.intel := NO_STATE= -K $$MODSTATE$$$$
64 clean.lint := TARGET= clean.lint
65 check := TARGET= check
67 .KEEP_STATE:
69 .PARALLEL: $(PARALLEL_KMODS) $(XMODS) modlist modlist.intel
71 INITIAL_TARGETS = \
72 genassym \
73 unix \
74 cpu/scripts
76 def all clean clobber clean.lint: setup genassym unix .WAIT \
77 $(KMODS) $(XMODS) $(IMPLEMENTATIONS)
79 install: install_platforms setup genassym unix .WAIT \
80 $(KMODS) $(XMODS) $(IMPLEMENTATIONS)
82 # Need to clean in here too because of lint.
83 clean: $(I86PC_LINTS)
85 # list the modules under i86pc.
86 modlist: unix $(KMODS) $(XMODS) $(IMPLEMENTATIONS)
88 # list the modules for Install -k i86pc.
89 modlist.karch: modlist modlist.intel
91 modlist.intel:
92 @cd $(SRC)/uts/intel; pwd; $(MAKE) $(NO_STATE) modlist
94 lintlib: unix
96 modlintlib: $(KMODS)
98 genassym unix $(KMODS): FRC
99 @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
101 setup: FRC
102 @cd cpu/scripts; pwd; $(MAKE) $(TARGET)
104 $(IMPLEMENTATIONS): FRC
105 @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET)
107 $(XMODS): FRC
108 @if [ -f $@/Makefile ]; then \
109 cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
110 else \
111 true; \
114 install_h check: $(IMPLEMENTATIONS) FRC
115 @cd sys; pwd; $(MAKE) $(TARGET)
118 # Definitions for the /platform directory aliases.
119 # Currently none for i86pc.
121 PLAT_LINKS =
124 # Make the /platform directories. This is hardwired here because
125 # the first stage of the project (KBI) only implements the userland
126 # changes, but the only reasonable place to record the aliases is
127 # here in kernel land.
129 install_platforms: $(ROOT_PSM_DIR) $(USR_PSM_DIR) \
130 $(ROOT_PLAT_LINKS) $(USR_PLAT_LINKS) \
131 $(OEM_USR_PLAT_LINKS)
134 # Full kernel lint target.
136 LINT_TARGET = globallint
138 # workaround for multiply defined errors
139 globallint := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
141 globallint:
142 @-$(ECHO) "\nFULL KERNEL: global crosschecks:"
143 @-$(LINT) $(LINTFLAGS) $(LINT_LIB) $(LINT_LIBS) 2>&1 | $(LGREP.2)
145 lint: lintlib .WAIT modlintlib .WAIT $(INTEL_LINTS) $(LINT_DEPS) \
146 $(IMPLEMENTATIONS)
148 $(INTEL_LINTS): FRC
149 @cd $(UTSBASE)/intel/$@; pwd; $(MAKE) modlintlib
151 include ../Makefile.targ
154 # Cross-reference customization: build a cross-reference over all of the
155 # i86pc-related directories.
157 XRDIRS = ../i86pc ../intel ../common
159 XRPRUNE = sun4u sun4
161 cscope.out tags: FRC
162 $(XREF) -x $@