Makefile revision 25cf1a301a396c38e8adf52c15f537b80d2483f7
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# CDDL HEADER START
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# The contents of this file are subject to the terms of the
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# Common Development and Distribution License (the "License").
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# You may not use this file except in compliance with the License.
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# or http://www.opensolaris.org/os/licensing.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# See the License for the specific language governing permissions
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# and limitations under the License.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# When distributing Covered Code, include this CDDL HEADER in each
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# If applicable, add the following below this CDDL HEADER, with the
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# fields enclosed by brackets "[]" replaced with your own identifying
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# CDDL HEADER END
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
4651430e55b9df9726347e3e3968618e540fe729vboxsync#
4651430e55b9df9726347e3e3968618e540fe729vboxsync# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync# Use is subject to license terms.
d5bf937d132098565e18a0d1fc408fb777c5e5b6vboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# ident "%Z%%M% %I% %E% SMI"
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# This makefile drives the production of the sun4u opl platform
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# module.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# sun4u opl implementation architecture dependent
382dd16193dd5770e53a99d3e3f3bc4e96f1ddd8vboxsync#
382dd16193dd5770e53a99d3e3f3bc4e96f1ddd8vboxsync# uts/sun4u/opl/Makefile
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
76f5d3db08b007661ae4af93200838d24683af52vboxsync# Path to the base of the uts directory tree (usually /usr/src/uts).
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncUTSBASE = ../..
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# Include common rules.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncinclude $(UTSBASE)/sun4u/opl/Makefile.opl
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncdef := TARGET= def
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncall := TARGET= all
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncinstall := TARGET= install
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncinstall_h := TARGET= install_h
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncclean := TARGET= clean
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncclobber := TARGET= clobber
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsynclint := TARGET= lint
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsynclintlib := TARGET= lintlib
231051c77670a4142b7545d51bd2251ae603189dvboxsyncmodlist := TARGET= modlist
231051c77670a4142b7545d51bd2251ae603189dvboxsyncmodlist := NO_STATE= -K $$MODSTATE$$$$
231051c77670a4142b7545d51bd2251ae603189dvboxsyncmodlintlib := TARGET= modlintlib
76f5d3db08b007661ae4af93200838d24683af52vboxsyncclean.lint := TARGET= clean.lint
76f5d3db08b007661ae4af93200838d24683af52vboxsynccheck := TARGET= check
76f5d3db08b007661ae4af93200838d24683af52vboxsync
76f5d3db08b007661ae4af93200838d24683af52vboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# Default build targets.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync.KEEP_STATE:
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncdef all clean clobber clean.lint: genassym unix .WAIT \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(OPL_CPU_KMODS) $(OPL_KMODS)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncmodlist: unix $(OPL_CPU_KMODS) $(OPL_KMODS)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsynclintlib: unix
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncmodlintlib: $(OPL_KMODS)
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncIMPLEMENTED_PLATFORM = SUNW,SPARC-Enterprise
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsyncLINKED_PLATFORMS = FJSV,SPARC-Enterprise
231051c77670a4142b7545d51bd2251ae603189dvboxsync# temporary link to the development platform name - remove before ON putback!
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncLINKED_PLATFORMS += SUNW,OPL-Enterprise
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# EXPORT DELETE START
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync# aes256 is delivered in the SUNWcryr package which is removed from
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync# the EXPORT_SRC build.
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncOPL_CRYPTO_LINKS += aes256
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync# EXPORT DELETE END
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsyncinstall: $(ROOT_OPL_DIR) $(USR_OPL_DIR) \
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync $(USR_OPL_INC_DIR) \
b2a9ade0eaa3c7b26c02cc05f83c352cafb9e03avboxsync $(USR_OPL_SBIN_DIR) \
22ea904a6fe5c95f54c4374502747cc844ce8204vboxsync $(USR_OPL_SBIN_EEPROM) \
22ea904a6fe5c95f54c4374502747cc844ce8204vboxsync $(USR_OPL_SBIN_PRTDIAG) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(USR_OPL_SBIN_TRAPSTAT) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(USR_OPL_SBIN_FRUADM) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(USR_OPL_LIB_DIR) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(OPL_CRYPTO_LINKS) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync genassym unix .WAIT $(OPL_CPU_KMODS) $(OPL_KMODS) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(OPLMSU_OPTION)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncgenassym unix $(OPL_KMODS) $(OPL_CPU_KMODS): FRC
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync @cd $@; pwd; $(MAKE) $(TARGET)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync$(OPL_CRYPTO_LINKS): $(ROOT_OPL_CRYPTO_DIR_64)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync -$(RM) $(ROOT_OPL_CRYPTO_DIR_64)/$@
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(SYMLINK) $(ROOT_US3_CRYPTO_LINK)/$@ $(ROOT_OPL_CRYPTO_DIR_64)/$@
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync$(OPLMSU_OPTION): FRC
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync @cd $@; pwd; $(MAKE) $(TARGET)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsyncinstall_h check: FRC
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync @cd sys; pwd; $(MAKE) $(TARGET)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsynclint: modlintlib
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync#
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync# The 'lint.platmod' target lints the opl platform module against
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# the sun4u kernel. This ends up doing all the kernel cross-checks,
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# so it takes a couple of minutes.
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync# Due to the low ROI, it's not run by default, but it's a good
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync# idea to run this if you change os/opl.c.
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync#
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsyncLINT_LIBS = $(LINT_LIB) \
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync -L$(OPL_LINT_LIB_DIR) \
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync -L$(LINT_LIB_DIR) $(LINT_KMODS:%=-l%) \
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync -L$(SPARC_LIB_DIR) $(SPARC_LINTS:%=-l%)
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsynclint.platmod: modlintlib
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync @-$(ECHO) "\nOpl Platform-dependent module: global crosschecks:"
6b9316bfe743cc7d2ee00d925f4ab455bc224e86vboxsync @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync# EXPORT DELETE START
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsyncEXPORT_SRC:
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(RM) Makefile+
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(SED) -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
15760030457c4d8548d42a9d543646b27eae7040vboxsync < Makefile > Makefile+
15760030457c4d8548d42a9d543646b27eae7040vboxsync $(MV) Makefile+ Makefile
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync $(CHMOD) 444 Makefile
0c9573129c50b7f9f4ea54e61417c2ed06bb8ebavboxsync
fbf482cad760a830bc8789ad639162019954ba80vboxsync# EXPORT DELETE END
fbf482cad760a830bc8789ad639162019954ba80vboxsync
fbf482cad760a830bc8789ad639162019954ba80vboxsync#
fbf482cad760a830bc8789ad639162019954ba80vboxsync#
fbf482cad760a830bc8789ad639162019954ba80vboxsync# Include common targets.
fbf482cad760a830bc8789ad639162019954ba80vboxsync#
fbf482cad760a830bc8789ad639162019954ba80vboxsyncinclude $(UTSBASE)/sun4u/opl/Makefile.targ
fbf482cad760a830bc8789ad639162019954ba80vboxsync