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 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 # Copyright 2018 Joyent, Inc. All rights reserved.
25 # Copyright 2017 Nexenta Systems, Inc.
26 #
27
28 #
29 # This Makefile defines all file modules and build rules for the
30 # directory uts/intel and its children. These are the source files which
31 # are specific to the intel processor.
32 #
33 # 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.
37 #
38 # Lines whose initial directory components are equal are sorted
39 # alphabetically by the remaining components.
40
41 #
42 # Need a way to distinguish between the ia32 and amd64 subdirs.
43 #
44 SUBARCH_DIR_32 = ia32
281
282 KRTLD_CPPFLAGS_32 = -DELF_TARGET_386
283 KRTLD_CPPFLAGS_64 = -DELF_TARGET_AMD64 -DMODDIR_SUFFIX=\"amd64\"
284 KRTLD_CPPFLAGS = $(KRTLD_CPPFLAGS_$(CLASS)) -D_KRTLD
285
286 $(OBJS_DIR)/%.o: $(UTSBASE)/common/krtld/%.c
287 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
288 $(CTFCONVERT_O)
289
290 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.c
291 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
292 $(CTFCONVERT_O)
293
294 #
295 # _DBOOT indicates that krtld is called from a dboot ELF section
296 #
297 $(OBJS_DIR)/kobj.o := CPPFLAGS += -D_DBOOT
298
299 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.s
300 $(COMPILE.s) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
301 $(CTFCONVERT_O)
302
303 $(OBJS_DIR)/%.o: $(SRC)/common/util/$(SUBARCH_DIR)/%.c
304 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
305 $(CTFCONVERT_O)
306
307
308 #
309 # Section 1b: Lint `object' build rules.
310 #
311 $(LINTS_DIR)/%.ln: $(SRC)/common/fs/%.c
312 @($(LHEAD) $(LINT.c) $< $(LTAIL))
313
314 $(LINTS_DIR)/%.ln: $(SRC)/common/util/i386/%.s
315 @($(LHEAD) $(LINT.s) $< $(LTAIL))
316
317 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/brand/sn1/%.s
318 @($(LHEAD) $(LINT.s) $< $(LTAIL))
319
320 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/brand/solaris10/%.s
321 @($(LHEAD) $(LINT.s) $< $(LTAIL))
|
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 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 # Copyright 2019 Joyent, Inc. All rights reserved.
25 # Copyright 2017 Nexenta Systems, Inc.
26 #
27
28 #
29 # This Makefile defines all file modules and build rules for the
30 # directory uts/intel and its children. These are the source files which
31 # are specific to the intel processor.
32 #
33 # 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.
37 #
38 # Lines whose initial directory components are equal are sorted
39 # alphabetically by the remaining components.
40
41 #
42 # Need a way to distinguish between the ia32 and amd64 subdirs.
43 #
44 SUBARCH_DIR_32 = ia32
281
282 KRTLD_CPPFLAGS_32 = -DELF_TARGET_386
283 KRTLD_CPPFLAGS_64 = -DELF_TARGET_AMD64 -DMODDIR_SUFFIX=\"amd64\"
284 KRTLD_CPPFLAGS = $(KRTLD_CPPFLAGS_$(CLASS)) -D_KRTLD
285
286 $(OBJS_DIR)/%.o: $(UTSBASE)/common/krtld/%.c
287 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
288 $(CTFCONVERT_O)
289
290 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.c
291 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
292 $(CTFCONVERT_O)
293
294 #
295 # _DBOOT indicates that krtld is called from a dboot ELF section
296 #
297 $(OBJS_DIR)/kobj.o := CPPFLAGS += -D_DBOOT
298
299 $(OBJS_DIR)/%.o: $(UTSBASE)/intel/$(SUBARCH_DIR)/krtld/%.s
300 $(COMPILE.s) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
301
302 $(OBJS_DIR)/%.o: $(SRC)/common/util/$(SUBARCH_DIR)/%.c
303 $(COMPILE.c) $(KRTLD_INC_PATH) $(KRTLD_CPPFLAGS) -o $@ $<
304 $(CTFCONVERT_O)
305
306
307 #
308 # Section 1b: Lint `object' build rules.
309 #
310 $(LINTS_DIR)/%.ln: $(SRC)/common/fs/%.c
311 @($(LHEAD) $(LINT.c) $< $(LTAIL))
312
313 $(LINTS_DIR)/%.ln: $(SRC)/common/util/i386/%.s
314 @($(LHEAD) $(LINT.s) $< $(LTAIL))
315
316 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/brand/sn1/%.s
317 @($(LHEAD) $(LINT.s) $< $(LTAIL))
318
319 $(LINTS_DIR)/%.ln: $(UTSBASE)/intel/brand/solaris10/%.s
320 @($(LHEAD) $(LINT.s) $< $(LTAIL))
|