Makefile revision 1e49577a7fcde812700ded04431b49d67cc57d6d
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# CDDL HEADER START
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# The contents of this file are subject to the terms of the
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# Common Development and Distribution License (the "License").
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# You may not use this file except in compliance with the License.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# or http://www.opensolaris.org/os/licensing.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# See the License for the specific language governing permissions
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# and limitations under the License.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# When distributing Covered Code, include this CDDL HEADER in each
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# If applicable, add the following below this CDDL HEADER, with the
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# fields enclosed by brackets "[]" replaced with your own identifying
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# information: Portions Copyright [yyyy] [name of copyright owner]
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# CDDL HEADER END
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
1e49577a7fcde812700ded04431b49d67cc57d6dRod Evans# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# This makefile drives the production of the sun4u opl platform
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# module.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# sun4u opl implementation architecture dependent
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# uts/sun4u/opl/Makefile
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# Path to the base of the uts directory tree (usually /usr/src/uts).
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jlUTSBASE = ../..
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# Include common rules.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jlinclude $(UTSBASE)/sun4u/opl/Makefile.opl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jldef := TARGET= def
25cf1a301a396c38e8adf52c15f537b80d2483f7jlall := TARGET= all
25cf1a301a396c38e8adf52c15f537b80d2483f7jlinstall := TARGET= install
25cf1a301a396c38e8adf52c15f537b80d2483f7jlinstall_h := TARGET= install_h
25cf1a301a396c38e8adf52c15f537b80d2483f7jlclean := TARGET= clean
25cf1a301a396c38e8adf52c15f537b80d2483f7jlclobber := TARGET= clobber
25cf1a301a396c38e8adf52c15f537b80d2483f7jllint := TARGET= lint
25cf1a301a396c38e8adf52c15f537b80d2483f7jllintlib := TARGET= lintlib
25cf1a301a396c38e8adf52c15f537b80d2483f7jlmodlist := TARGET= modlist
25cf1a301a396c38e8adf52c15f537b80d2483f7jlmodlist := NO_STATE= -K $$MODSTATE$$$$
25cf1a301a396c38e8adf52c15f537b80d2483f7jlmodlintlib := TARGET= modlintlib
25cf1a301a396c38e8adf52c15f537b80d2483f7jlclean.lint := TARGET= clean.lint
25cf1a301a396c38e8adf52c15f537b80d2483f7jlcheck := TARGET= check
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# Default build targets.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl.KEEP_STATE:
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jldef all clean clobber clean.lint: genassym unix .WAIT \
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimand $(OPL_CPU_KMODS) $(OPL_KMODS) $(CLOSED_OPL_KMODS)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimandmodlist: unix $(OPL_CPU_KMODS) $(OPL_KMODS) $(CLOSED_OPL_KMODS)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jllintlib: unix
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimandmodlintlib: $(OPL_KMODS) $(CLOSED_OPL_KMODS)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jlIMPLEMENTED_PLATFORM = SUNW,SPARC-Enterprise
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jlinstall: $(ROOT_OPL_DIR) $(USR_OPL_DIR) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(USR_OPL_INC_DIR) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(USR_OPL_SBIN_DIR) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(USR_OPL_SBIN_PRTDIAG) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(USR_OPL_SBIN_FRUADM) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(USR_OPL_LIB_DIR) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(OPL_CRYPTO_LINKS) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl genassym unix .WAIT $(OPL_CPU_KMODS) $(OPL_KMODS) \
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimand $(CLOSED_OPL_KMODS) $(OPLMSU_OPTION)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jlgenassym unix $(OPL_KMODS) $(OPL_CPU_KMODS): FRC
25cf1a301a396c38e8adf52c15f537b80d2483f7jl @cd $@; pwd; $(MAKE) $(TARGET)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimand$(CLOSED_OPL_KMODS): FRC
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimand cd $(CLOSED)/uts/sun4u/opl/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimand
25cf1a301a396c38e8adf52c15f537b80d2483f7jl$(OPL_CRYPTO_LINKS): $(ROOT_OPL_CRYPTO_DIR_64)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl -$(RM) $(ROOT_OPL_CRYPTO_DIR_64)/$@
25cf1a301a396c38e8adf52c15f537b80d2483f7jl $(SYMLINK) $(ROOT_US3_CRYPTO_LINK)/$@ $(ROOT_OPL_CRYPTO_DIR_64)/$@
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl$(OPLMSU_OPTION): FRC
25cf1a301a396c38e8adf52c15f537b80d2483f7jl @cd $@; pwd; $(MAKE) $(TARGET)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jlinstall_h check: FRC
25cf1a301a396c38e8adf52c15f537b80d2483f7jl @cd sys; pwd; $(MAKE) $(TARGET)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jllint: modlintlib
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# The 'lint.platmod' target lints the opl platform module against
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# the sun4u kernel. This ends up doing all the kernel cross-checks,
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# so it takes a couple of minutes.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# Due to the low ROI, it's not run by default, but it's a good
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# idea to run this if you change os/opl.c.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jlLINT_LIBS = $(LINT_LIB) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl -L$(OPL_LINT_LIB_DIR) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl -L$(LINT_LIB_DIR) $(LINT_KMODS:%=-l%) \
7b77b0178ffc12e4b7f782b15747abb8ece8a563jimand $(CLOSED_LINT_KMODS:%=-l%) \
25cf1a301a396c38e8adf52c15f537b80d2483f7jl -L$(SPARC_LIB_DIR) $(SPARC_LINTS:%=-l%)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jllint.platmod: modlintlib
25cf1a301a396c38e8adf52c15f537b80d2483f7jl @-$(ECHO) "\nOpl Platform-dependent module: global crosschecks:"
25cf1a301a396c38e8adf52c15f537b80d2483f7jl @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
25cf1a301a396c38e8adf52c15f537b80d2483f7jl
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jl# Include common targets.
25cf1a301a396c38e8adf52c15f537b80d2483f7jl#
25cf1a301a396c38e8adf52c15f537b80d2483f7jlinclude $(UTSBASE)/sun4u/opl/Makefile.targ