1450 Illumos should be buildable with GCC4
[illumos-gate.git] / usr / src / uts / i86xpv / Makefile.rules
blob90a432362053f1a67725999452594217df9ad912
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
23 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24 # Use is subject to license terms.
28 #       This Makefile defines the build rules for the directory uts/i86xpv
29 #       and its children. These are the source files which are i86xpv
30 #       "implementation architecture" dependent.
32 #       The following two-level ordering must be maintained in this file.
34 #       - Lines are sorted first in order of decreasing specificity based on
35 #         the first directory component.  That is, sun4u rules come before
36 #         sparc rules come before common rules.
38 #       - Lines whose initial directory components are equal are sorted
39 #         alphabetically by the remaining components.
43 #       We share many files with the i86pc implementation to reduce
44 #       the amount of merge work
48 #       Section 1a: C object build rules
50 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/conf/%.c
51         $(COMPILE.c) -o $@ $<
52         $(CTFCONVERT_O)
54 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/cpu/generic_cpu/%.c
55         $(COMPILE.c) -o $@ $<
56         $(CTFCONVERT_O)
58 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/io/%.c
59         $(COMPILE.c) -o $@ $<
60         $(CTFCONVERT_O)
62 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/io/ioat/%.c
63         $(COMPILE.c) -o $@ $<
64         $(CTFCONVERT_O)
66 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/io/pci/%.c
67         $(COMPILE.c) -o $@ $<
68         $(CTFCONVERT_O)
70 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/io/pciex/%.c
71         $(COMPILE.c) -o $@ $<
72         $(CTFCONVERT_O)
74 $(OBJS_DIR)/%.o:                $(UTSBASE)/intel/io/pciex/hotplug/%.c
75         $(COMPILE.c) -o $@ $<
76         $(CTFCONVERT_O)
78 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/io/psm/%.c
79         $(COMPILE.c) -o $@ $<
80         $(CTFCONVERT_O)
82 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/ml/%.s
83         $(COMPILE.s) -o $@ $<
85 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/os/%.c
86         $(COMPILE.c) -o $@ $<
87         $(CTFCONVERT_O)
89 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/vm/%.c
90         $(COMPILE.c) -o $@ $<
91         $(CTFCONVERT_O)
93 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86xpv/boot/%.c
94         $(COMPILE.c) -o $@ $<
95         $(CTFCONVERT_O)
97 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/boot/%.c
98         $(COMPILE.c) -o $@ $<
99         $(CTFCONVERT_O)
101 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/io/gfx_private/%.c
102         $(COMPILE.c) -o $@ $<
103         $(CTFCONVERT_O)
105 $(OBJS_DIR)/%.o:                $(UTSBASE)/i86pc/io/xsvc/%.c
106         $(COMPILE.c) -o $@ $<
107         $(CTFCONVERT_O)
109 $(OBJS_DIR)/%.o:                $(UTSBASE)/common/io/pciex/%.c
110         $(COMPILE.c) -o $@ $<
111         $(CTFCONVERT_O)
113 #       We need this one to make sure we share dtrace_subr.c with i86pc
114 #       Otherwise we pick up common/os/dtrace_subr.c instead :(
115 #       Note that only the non-commented versions of this hack end up
116 #       in the lint section below.
118 $(OBJS_DIR)/dtrace_subr.o:      $(UTSBASE)/i86pc/os/dtrace_subr.c
119         $(COMPILE.c) -o $@ $(UTSBASE)/i86pc/os/dtrace_subr.c
120         $(CTFCONVERT_O)
123 $(OBJS_DIR)/%.o:                $(UTSBASE)/common/cpr/%.c
124         $(COMPILE.c) -o $@ $<
125         $(CTFCONVERT_O)
127 $(OBJS_DIR)/%.o:                $(UTSBASE)/common/xen/io/%.c
128         $(COMPILE.c) -o $@ $<
129         $(CTFCONVERT_O)
131 $(OBJS_DIR)/%.o:                $(UTSBASE)/common/xen/os/%.c
132         $(COMPILE.c) -o $@ $<
133         $(CTFCONVERT_O)
135 $(OBJS_DIR)/%.o:                $(UTSBASE)/common/xen/dtrace/%.c
136         $(COMPILE.c) -o $@ $<
137         $(CTFCONVERT_O)
140 #       Section 1b: Lint `object' build rules
142 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/conf/%.c
143         @($(LHEAD) $(LINT.c) $< $(LTAIL))
145 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/io/%.c
146         @($(LHEAD) $(LINT.c) $< $(LTAIL))
148 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/io/psm/%.c
149         @($(LHEAD) $(LINT.c) $< $(LTAIL))
151 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/ml/%.s
152         @($(LHEAD) $(LINT.s) $< $(LTAIL))
154 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/os/%.c
155         @($(LHEAD) $(LINT.c) $< $(LTAIL))
157 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/vm/%.c
158         @($(LHEAD) $(LINT.c) $< $(LTAIL))
160 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86xpv/boot/%.c
161         @($(LHEAD) $(LINT.c) $< $(LTAIL))
163 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/boot/%.c
164         @($(LHEAD) $(LINT.c) $< $(LTAIL))
166 $(LINTS_DIR)/%.ln:              $(UTSBASE)/common/xen/dtrace/%.c
167         @($(LHEAD) $(LINT.c) $< $(LTAIL))
169 #       See note above.
171 $(LINTS_DIR)/dtrace_subr.ln:    $(UTSBASE)/i86pc/os/dtrace_subr.c
172         @($(LHEAD) $(LINT.c) $(UTSBASE)/i86pc/os/dtrace_subr.c $(LTAIL))
175 # stuff for dboot
177 # This is different from i86pc - uses 64 bit compiler for 64 bit
179 # Note that we *don't* want to use the definitions that have been augmented
180 # by various bits of the context of the kernel build environment; so we
181 # start constructing flags and things afresh.
183 DBOOT_OBJS_DIR= dboot/$(OBJS_DIR)
185 DBOOT_XARCH_32 = $(i386_XARCH)
186 DBOOT_XARCH_64 = $(amd64_XARCH)
187 DBOOT_CFLAGS = $(DBOOT_XARCH_$(CLASS)) $(CERRWARN) $(CCNOAUTOINLINE) -O
189 DBOOT_AS_XARCH_32 = $(i386_AS_XARCH)
190 DBOOT_AS_XARCH_64 = $(amd64_AS_XARCH)
191 DBOOT_ASFLAGS = $(DBOOT_AS_XARCH_$(CLASS)) -P -D_ASM
193 DBOOT_LINTFLAGS_i86xpv  = $(LINTFLAGS_i386_$(CLASS)) $(LINTTAGS_i386_$(CLASS))
195 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/common/xen/os/%.c
196         $(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
198 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/i86xpv/boot/%.c
199         $(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
201 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/i86pc/boot/%.c
202         $(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
204 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/i86pc/dboot/%.c
205         $(CC) $(DBOOT_CFLAGS)  $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
207 $(DBOOT_OBJS_DIR)/%.o:          $(COMMONBASE)/util/%.c
208         $(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
210 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/i86xpv/os/%.c
211         $(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
213 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/intel/ia32/ml/%.s
214         $(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
216 $(DBOOT_OBJS_DIR)/%.o:          $(COMMONBASE)/util/i386/%.s
217         $(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
219 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/i86xpv/ml/%.s
220         $(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
222 $(DBOOT_OBJS_DIR)/%.o:          $(UTSBASE)/i86pc/dboot/%.s
223         $(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
225 include $(UTSBASE)/i86pc/Makefile.rules
227 DBOOT_DEFS += -D__xpv
229 $(LINTS_DIR)/%.ln:              $(UTSBASE)/common/cpr/%.c
230         @($(LHEAD) $(LINT.c) $< $(LTAIL))
232 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/ioat/%.c
233         @($(LHEAD) $(LINT.c) $< $(LTAIL))
235 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/pci/%.c
236         @($(LHEAD) $(LINT.c) $< $(LTAIL))
238 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/pciex/%.c
239         @($(LHEAD) $(LINT.c) $< $(LTAIL))
241 $(LINTS_DIR)/%.ln:              $(UTSBASE)/intel/io/pciex/hotplug/%.c
242         @($(LHEAD) $(LINT.c) $< $(LTAIL))
244 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/gfx_private/%.c
245         @($(LHEAD) $(LINT.c) $< $(LTAIL))
247 $(LINTS_DIR)/%.ln:              $(UTSBASE)/i86pc/io/xsvc/%.c
248         @($(LHEAD) $(LINT.c) $< $(LTAIL))
250 $(LINTS_DIR)/%.ln:              $(UTSBASE)/common/io/pciex/%.c
251         @($(LHEAD) $(LINT.c) $< $(LTAIL))
253 $(LINTS_DIR)/%.ln:              $(UTSBASE)/common/xen/io/%.c
254         @($(LHEAD) $(LINT.c) $< $(LTAIL))
256 $(LINTS_DIR)/%.ln:              $(UTSBASE)/common/xen/os/%.c
257         @($(LHEAD) $(LINT.c) $< $(LTAIL))
259 $(DBOOT_LINTS_DIR)/%.ln:                $(UTSBASE)/intel/ia32/ml/%.s
260         @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
262 $(DBOOT_LINTS_DIR)/%.ln:                $(UTSBASE)/common/xen/os/%.c
263         @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
265 $(DBOOT_LINTS_DIR)/%.ln:                $(UTSBASE)/i86xpv/os/%.c
266         @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
268 $(DBOOT_LINTS_DIR)/%.ln:                $(UTSBASE)/i86xpv/ml/%.s
269         @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
271 $(DBOOT_LINTS_DIR)/%.ln:                $(UTSBASE)/i86xpv/boot/%.c
272         @($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))