xref: /illumos-gate/usr/src/uts/i86pc/Makefile (revision 3aa6c13072f3d4792a18693e916aed260a496c1f)
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# Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
26#
27#	This makefile drives the production of all implementation architecture
28#	dependent modules for the i86pc architecture.
29#
30
31UTSBASE = ..
32
33include Makefile.i86pc
34
35#
36#
37#
38def		:=	TARGET= def
39all		:=	TARGET= all
40install		:=	TARGET= install
41install_h	:=	TARGET= install_h
42clean		:=	TARGET= clean
43clobber		:=	TARGET= clobber
44modlist		:=	TARGET= modlist
45modlist	modlist.intel :=	NO_STATE= -K $$MODSTATE$$$$
46check		:=	TARGET= check
47
48.KEEP_STATE:
49
50.PARALLEL:	$(PARALLEL_KMODS) $(XMODS) modlist modlist.intel
51
52INITIAL_TARGETS = \
53	genassym \
54	unix \
55	cpu/scripts
56
57def all clean clobber: setup genassym unix .WAIT \
58	$(KMODS) $(XMODS) $(IMPLEMENTATIONS)
59
60install: install_platforms setup genassym unix .WAIT \
61	$(KMODS) $(XMODS) $(IMPLEMENTATIONS)
62
63# list the modules under i86pc.
64modlist: unix $(KMODS) $(XMODS) $(IMPLEMENTATIONS)
65
66# list the modules for Install -k i86pc.
67modlist.karch: modlist modlist.intel
68
69modlist.intel:
70	@cd $(SRC)/uts/intel; pwd; $(MAKE) $(NO_STATE) modlist
71
72genassym unix $(KMODS):	FRC
73	@cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
74
75setup: FRC
76	@cd cpu/scripts; pwd; $(MAKE) $(TARGET)
77
78$(IMPLEMENTATIONS):     FRC
79	@cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET)
80
81$(XMODS):	FRC
82	cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
83
84install_h check:	$(IMPLEMENTATIONS) FRC
85	@cd sys; pwd; $(MAKE) $(TARGET)
86
87#
88# Definitions for the /platform directory aliases.
89# Currently none for i86pc.
90#
91PLAT_LINKS	=
92
93#
94# Make the /platform directories.  This is hardwired here because
95# the first stage of the project (KBI) only implements the userland
96# changes, but the only reasonable place to record the aliases is
97# here in kernel land.
98#
99install_platforms:	$(ROOT_PSM_DIR) $(USR_PSM_DIR) \
100			$(ROOT_PLAT_LINKS) $(USR_PLAT_LINKS) \
101			$(OEM_USR_PLAT_LINKS)
102
103include ../Makefile.targ
104
105#
106# Cross-reference customization: build a cross-reference over all of the
107# i86pc-related directories.
108#
109XRDIRS	= ../i86pc ../intel ../common
110
111XRPRUNE	= sun4u sun4
112
113cscope.out tags: FRC
114	$(XREF) -x $@
115