xref: /illumos-gate/usr/src/uts/i86xpv/Makefile.rules (revision f0089e39)
1843e1988Sjohnlev#
2843e1988Sjohnlev# CDDL HEADER START
3843e1988Sjohnlev#
4843e1988Sjohnlev# The contents of this file are subject to the terms of the
5843e1988Sjohnlev# Common Development and Distribution License (the "License").
6843e1988Sjohnlev# You may not use this file except in compliance with the License.
7843e1988Sjohnlev#
8843e1988Sjohnlev# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9843e1988Sjohnlev# or http://www.opensolaris.org/os/licensing.
10843e1988Sjohnlev# See the License for the specific language governing permissions
11843e1988Sjohnlev# and limitations under the License.
12843e1988Sjohnlev#
13843e1988Sjohnlev# When distributing Covered Code, include this CDDL HEADER in each
14843e1988Sjohnlev# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15843e1988Sjohnlev# If applicable, add the following below this CDDL HEADER, with the
16843e1988Sjohnlev# fields enclosed by brackets "[]" replaced with your own identifying
17843e1988Sjohnlev# information: Portions Copyright [yyyy] [name of copyright owner]
18843e1988Sjohnlev#
19843e1988Sjohnlev# CDDL HEADER END
20843e1988Sjohnlev#
21843e1988Sjohnlev
22843e1988Sjohnlev#
2326947304SEvan Yan# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24843e1988Sjohnlev# Use is subject to license terms.
25843e1988Sjohnlev#
26843e1988Sjohnlev
27843e1988Sjohnlev#
28843e1988Sjohnlev#	This Makefile defines the build rules for the directory uts/i86xpv
29843e1988Sjohnlev#	and its children. These are the source files which are i86xpv
30843e1988Sjohnlev#	"implementation architecture" dependent.
31843e1988Sjohnlev#
32843e1988Sjohnlev#	The following two-level ordering must be maintained in this file.
33843e1988Sjohnlev#
34843e1988Sjohnlev#	- Lines are sorted first in order of decreasing specificity based on
35843e1988Sjohnlev#	  the first directory component.  That is, sun4u rules come before
36843e1988Sjohnlev#	  sparc rules come before common rules.
37843e1988Sjohnlev#
38843e1988Sjohnlev#	- Lines whose initial directory components are equal are sorted
39843e1988Sjohnlev#	  alphabetically by the remaining components.
40843e1988Sjohnlev#
41843e1988Sjohnlev
42843e1988Sjohnlev#
43843e1988Sjohnlev#	We share many files with the i86pc implementation to reduce
44843e1988Sjohnlev#	the amount of merge work
45843e1988Sjohnlev#
46843e1988Sjohnlev
47843e1988Sjohnlev#
48843e1988Sjohnlev#	Section 1a: C object build rules
49843e1988Sjohnlev#
50843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/conf/%.c
51843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
52843e1988Sjohnlev	$(CTFCONVERT_O)
53843e1988Sjohnlev
54e4b86885SCheng Sean Ye$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/cpu/generic_cpu/%.c
55e4b86885SCheng Sean Ye	$(COMPILE.c) -o $@ $<
56e4b86885SCheng Sean Ye	$(CTFCONVERT_O)
57e4b86885SCheng Sean Ye
58843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/io/%.c
59843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
60843e1988Sjohnlev	$(CTFCONVERT_O)
61843e1988Sjohnlev
6217169044Sbrutus$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/ioat/%.c
6317169044Sbrutus	$(COMPILE.c) -o $@ $<
6417169044Sbrutus	$(CTFCONVERT_O)
6517169044Sbrutus
66843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pci/%.c
67843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
68843e1988Sjohnlev	$(CTFCONVERT_O)
69843e1988Sjohnlev
70843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pciex/%.c
71843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
72843e1988Sjohnlev	$(CTFCONVERT_O)
73843e1988Sjohnlev
7426947304SEvan Yan$(OBJS_DIR)/%.o:		$(UTSBASE)/intel/io/pciex/hotplug/%.c
7526947304SEvan Yan	$(COMPILE.c) -o $@ $<
7626947304SEvan Yan	$(CTFCONVERT_O)
7726947304SEvan Yan
78843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/io/psm/%.c
79843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
80843e1988Sjohnlev	$(CTFCONVERT_O)
81843e1988Sjohnlev
82843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/ml/%.s
83843e1988Sjohnlev	$(COMPILE.s) -o $@ $<
84843e1988Sjohnlev
85843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/os/%.c
86843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
87843e1988Sjohnlev	$(CTFCONVERT_O)
88843e1988Sjohnlev
89843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/vm/%.c
90843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
91843e1988Sjohnlev	$(CTFCONVERT_O)
92843e1988Sjohnlev
93843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/boot/%.c
94843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
95843e1988Sjohnlev	$(CTFCONVERT_O)
96843e1988Sjohnlev
97843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/boot/%.c
98843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
99843e1988Sjohnlev	$(CTFCONVERT_O)
100843e1988Sjohnlev
101843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/gfx_private/%.c
102843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
103843e1988Sjohnlev	$(CTFCONVERT_O)
104843e1988Sjohnlev
105843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/xsvc/%.c
106843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
107843e1988Sjohnlev	$(CTFCONVERT_O)
108843e1988Sjohnlev
109c0da6274SZhi-Jun Robin Fu$(OBJS_DIR)/%.o:		$(UTSBASE)/common/io/pciex/%.c
110c0da6274SZhi-Jun Robin Fu	$(COMPILE.c) -o $@ $<
111c0da6274SZhi-Jun Robin Fu	$(CTFCONVERT_O)
112c0da6274SZhi-Jun Robin Fu
113843e1988Sjohnlev#	We need this one to make sure we share dtrace_subr.c with i86pc
114843e1988Sjohnlev#	Otherwise we pick up common/os/dtrace_subr.c instead :(
115843e1988Sjohnlev
116843e1988Sjohnlev$(OBJS_DIR)/dtrace_subr.o:	$(UTSBASE)/i86pc/os/dtrace_subr.c
117843e1988Sjohnlev	$(COMPILE.c) -o $@ $(UTSBASE)/i86pc/os/dtrace_subr.c
118843e1988Sjohnlev	$(CTFCONVERT_O)
119843e1988Sjohnlev
120843e1988Sjohnlev#
121843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/common/cpr/%.c
122843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
123843e1988Sjohnlev	$(CTFCONVERT_O)
124843e1988Sjohnlev
125843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/io/%.c
126843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
127843e1988Sjohnlev	$(CTFCONVERT_O)
128843e1988Sjohnlev
129843e1988Sjohnlev$(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/os/%.c
130843e1988Sjohnlev	$(COMPILE.c) -o $@ $<
131843e1988Sjohnlev	$(CTFCONVERT_O)
132843e1988Sjohnlev
133c7158ae9Stariq$(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/dtrace/%.c
134c7158ae9Stariq	$(COMPILE.c) -o $@ $<
135c7158ae9Stariq	$(CTFCONVERT_O)
136843e1988Sjohnlev#
137843e1988Sjohnlev# stuff for dboot
138843e1988Sjohnlev#
139843e1988Sjohnlev# This is different from i86pc - uses 64 bit compiler for 64 bit
140843e1988Sjohnlev#
141843e1988Sjohnlev# Note that we *don't* want to use the definitions that have been augmented
142843e1988Sjohnlev# by various bits of the context of the kernel build environment; so we
143843e1988Sjohnlev# start constructing flags and things afresh.
144843e1988Sjohnlev
145843e1988SjohnlevDBOOT_OBJS_DIR= dboot/$(OBJS_DIR)
146843e1988Sjohnlev
147843e1988SjohnlevDBOOT_XARCH_32 = $(i386_XARCH)
148843e1988SjohnlevDBOOT_XARCH_64 = $(amd64_XARCH)
149bd0ce624SYuri PankovDBOOT_CFLAGS = $(DBOOT_XARCH_$(CLASS)) $(CSTD) $(CERRWARN) \
1507f11fd00SRichard Lowe    $(CCNOAUTOINLINE) -O
151843e1988Sjohnlev
152843e1988SjohnlevDBOOT_AS_XARCH_32 = $(i386_AS_XARCH)
153843e1988SjohnlevDBOOT_AS_XARCH_64 = $(amd64_AS_XARCH)
154843e1988SjohnlevDBOOT_ASFLAGS = $(DBOOT_AS_XARCH_$(CLASS)) -P -D_ASM
155843e1988Sjohnlev
156551bc2a6Smrj$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/os/%.c
157551bc2a6Smrj	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
158551bc2a6Smrj
159cbc8e155SToomas Soome$(DBOOT_OBJS_DIR)/%.o:		$(SRC)/common/font/%.c
160898c3fecSToomas Soome	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
161898c3fecSToomas Soome
162898c3fecSToomas Soome$(DBOOT_OBJS_DIR)/%.o:		$(DBOOT_OBJS_DIR)/%.c
163898c3fecSToomas Soome	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
164898c3fecSToomas Soome
165843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/boot/%.c
166843e1988Sjohnlev	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
167843e1988Sjohnlev
168843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/boot/%.c
169843e1988Sjohnlev	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
170843e1988Sjohnlev
171843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/dboot/%.c
172843e1988Sjohnlev	$(CC) $(DBOOT_CFLAGS)  $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
173843e1988Sjohnlev
174843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/util/%.c
175843e1988Sjohnlev	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
176843e1988Sjohnlev
177843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/os/%.c
178843e1988Sjohnlev	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
179843e1988Sjohnlev
180*f0089e39SRichard Lowe$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/intel/ml/%.s
181551bc2a6Smrj	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
182551bc2a6Smrj
183843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/util/i386/%.s
184843e1988Sjohnlev	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
185843e1988Sjohnlev
186843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/ml/%.s
187843e1988Sjohnlev	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
188843e1988Sjohnlev
189843e1988Sjohnlev$(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/dboot/%.s
190843e1988Sjohnlev	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
191843e1988Sjohnlev
192843e1988Sjohnlevinclude $(UTSBASE)/i86pc/Makefile.rules
193843e1988Sjohnlev
194843e1988SjohnlevDBOOT_DEFS += -D__xpv
195