286N/A# The contents of this file are subject to the terms of the 286N/A# Common Development and Distribution License (the "License"). 286N/A# You may not use this file except in compliance with the License. 286N/A# See the License for the specific language governing permissions 286N/A# and limitations under the License. 286N/A# When distributing Covered Code, include this CDDL HEADER in each 286N/A# If applicable, add the following below this CDDL HEADER, with the 286N/A# fields enclosed by brackets "[]" replaced with your own identifying 286N/A# information: Portions Copyright [yyyy] [name of copyright owner] 286N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 286N/A# Use is subject to license terms. 286N/A# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> 286N/A# This makefile drives the production of all implementation architecture 286N/A# dependent modules for the sun4u architecture. 286N/A# The following are SPARC specific (rather than sun4u) specific modules 286N/A# which are required for the sun4u kernel to completely lint. They are 286N/A# not involved in the build in any other way. In order to minimize 286N/A# build time, it is assumed that they are up to date. But since sun4u 286N/A# is really a separate architecture we cannot use the v7 sparc modules. 286N/A# Override for CPU_KMODS... they cannot be built 286N/A# list the modules under sun4u. 286N/A# list the modules for Install -k sun4u. 286N/A# processor architectures and should be kept in sync. If they are changed in 286N/A# this file make sure that x86 rules are updated as well. 286N/A# The uts/Makefile defines build parallelism for sun4 platforms such that sparc, 286N/A# sun4u and sun4v are all built in parallel. Also this Makefile specifies that 286N/A# all IMPLEMENTATIONS sun4u sub-platforms are built in parallel. This requires 286N/A# appends the '.prereq' string to the original target and executes this Makefile 286N/A# to build any prerequisites needed before the full parallel build can start. 286N/A# After that make continues with normal targets. 286N/A# Any build prerequisites for sun4 and IMPLEMENTATIONS builds should be 286N/A# genassym is used to build dtrace and genunix, so it should be built first. 286N/A# genunix is used by everyone to ctfmerge with. Genunix is merged with sparc/ip 286N/A# so as a side effect this dependency builds sparc/ip as part of the 286N/A# unix is not required by itself but several sun4u platforms require 286N/A# This causes full sun4u/unix to be built before all sun4u platforms and 286N/A# present. This is handled by running make install_h in sun4u/unix directory 286N/A# Nothing to do with any other prerequisites # Platform inter-dependencies # The genunix requires priv_const.c file to be generated first. # Rules for the /platforms directories. This is hardwired here because # the first stage of the project (KBI) only implements the userland # changes, but the only reasonable place to record the aliases is # create directories in /usr/platform/ for the implementations that are # defined in $(IMPLEMENTED_PLATFORM) # Foreach $(IMPLEMENTED_PLATFORM) there can be a list of $(LINKED_PLATFORMS) # create the links in /usr/platform/ foreach $(LINKED_PLATFORMS) # to it's corresponding $(IMPLEMENTED_PLATFORM). # Make the /platforms directories. This is hardwired here because # the first stage of the project (KBI) only implements the userland # changes, but the only reasonable place to record the aliases is # rules for making include, sbin, lib dirs/links in # Full kernel lint target. @-
$(ECHO) "\nSUN4U KERNEL: global crosschecks:"# Cross-reference customization: build a cross-reference over all of the # sun4u-related directories.