Makefile revision 5db531e3faa94427746eae754b11770fd8416b6d
2N/A# The contents of this file are subject to the terms of the 2N/A# Common Development and Distribution License (the "License"). 2N/A# You may not use this file except in compliance with the License. 2N/A# See the License for the specific language governing permissions 2N/A# and limitations under the License. 2N/A# When distributing Covered Code, include this CDDL HEADER in each 2N/A# If applicable, add the following below this CDDL HEADER, with the 2N/A# fields enclosed by brackets "[]" replaced with your own identifying 2N/A# information: Portions Copyright [yyyy] [name of copyright owner] 2N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2N/A# Use is subject to license terms. 2N/A# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> 2N/A# This makefile drives the production of all implementation architecture 2N/A# dependent modules for the sun4u architecture. 2N/A# The following are SPARC specific (rather than sun4u) specific modules 2N/A# which are required for the sun4u kernel to completely lint. They are 2N/A# not involved in the build in any other way. In order to minimize 2N/A# build time, it is assumed that they are up to date. But since sun4u 2N/A# is really a separate architecture we cannot use the v7 sparc modules. # Override for CPU_KMODS... they cannot be built # list the modules under sun4u. # list the modules for Install -k sun4u. # NOTE: The rules for generating priv_const.c file are shared between all # processor architectures and should be kept in sync. If they are changed in # this file make sure that x86 rules are updated as well. # The uts/Makefile defines build parallelism for sun4 platforms such that sparc, # sun4u and sun4v are all built in parallel. Also this Makefile specifies that # all IMPLEMENTATIONS sun4u sub-platforms are built in parallel. This requires # building certain parts before the parallel build can start. The uts/Makefile # appends the '.prereq' string to the original target and executes this Makefile # to build any prerequisites needed before the full parallel build can start. # After that make continues with normal targets. # Any build prerequisites for sun4 and IMPLEMENTATIONS builds should be # genassym is used to build dtrace and genunix, so it should be built first. # genunix is used by everyone to ctfmerge with. Genunix is merged with sparc/ip # so as a side effect this dependency builds sparc/ip as part of the # unix is not required by itself but several sun4u platforms require # sun4u/platmod to be present. The easiest way to achieve this is to build # This causes full sun4u/unix to be built before all sun4u platforms and # present. This is handled by running make install_h in sun4u/unix directory # 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.