xref: /illumos-gate/usr/src/uts/i86pc/Makefile (revision 8a2b682e57a046b828f37bcde1776f131ef4629f)
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	@if [ -f $@/Makefile  ]; then \
83		cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \
84	else \
85		true; \
86	fi
87
88install_h check:	$(IMPLEMENTATIONS) FRC
89	@cd sys; pwd; $(MAKE) $(TARGET)
90
91#
92# Definitions for the /platform directory aliases.
93# Currently none for i86pc.
94#
95PLAT_LINKS	=
96
97#
98# Make the /platform directories.  This is hardwired here because
99# the first stage of the project (KBI) only implements the userland
100# changes, but the only reasonable place to record the aliases is
101# here in kernel land.
102#
103install_platforms:	$(ROOT_PSM_DIR) $(USR_PSM_DIR) \
104			$(ROOT_PLAT_LINKS) $(USR_PLAT_LINKS) \
105			$(OEM_USR_PLAT_LINKS)
106
107include ../Makefile.targ
108
109#
110# Cross-reference customization: build a cross-reference over all of the
111# i86pc-related directories.
112#
113XRDIRS	= ../i86pc ../intel ../common
114
115XRPRUNE	= sun4u sun4
116
117cscope.out tags: FRC
118	$(XREF) -x $@
119