Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# CDDL HEADER START
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# The contents of this file are subject to the terms of the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Common Development and Distribution License (the "License").
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# You may not use this file except in compliance with the License.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# or http://www.opensolaris.org/os/licensing.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# See the License for the specific language governing permissions
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# and limitations under the License.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# When distributing Covered Code, include this CDDL HEADER in each
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# If applicable, add the following below this CDDL HEADER, with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# fields enclosed by brackets "[]" replaced with your own identifying
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# information: Portions Copyright [yyyy] [name of copyright owner]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# CDDL HEADER END
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes#
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes# Use is subject to license terms.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# This makefile drives the production of the sun4u UltraSPARC driver
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# module.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# sun4u implementation architecture dependent
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Path to the base of the uts directory tree (usually /usr/src/uts).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesUTSBASE = ../..
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Define the module and object file sets.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesMODULE = SUNW,UltraSPARC-III
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesOBJECTS = $(CHEETAH_OBJS:%=$(OBJS_DIR)/%)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINTS = $(CHEETAH_OBJS:%.o=$(LINTS_DIR)/%.ln)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesROOTMODULE = $(ROOT_PSM_CPU_DIR)/$(MODULE)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_PSM_CPU_DIR)/%)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCPU_DIR = .
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesHERE = ../cheetah
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Include common rules.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesinclude $(UTSBASE)/sun4u/Makefile.sun4u
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Override defaults
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCLEANFILES += $(CPULIB) $(SYM_MOD)
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Define targets
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesALL_TARGET = $(SYM_MOD)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINT_TARGET = $(MODULE).lint
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesINSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# lint pass one enforcement
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCFLAGS += $(CCVERBOSE)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg# cpu-module-specific flags
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCPPFLAGS += -DCPU_MODULE -DCHEETAH
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesAS_CPPFLAGS += -DCPU_MODULE -DCHEETAH
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Default build targets.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes.KEEP_STATE:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesdef: $(DEF_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesall: $(ALL_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesclean: $(CLEAN_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesclobber: $(CLOBBER_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeslint: $(LINT_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesmodlintlib: $(MODLINTLIB_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgclean.lint: $(CLEAN_LINT_DEPS)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesinstall: $(INSTALL_DEPS)
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes$(CPULIB): $(BINARY)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes $(BUILD.SO) $(BINARY)
0a39e7683f6611d66c55712f50bb240428d832a1bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes$(SYM_MOD): $(UNIX_O) $(CPULIB)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes @echo "resolving symbols against unix.o"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes @(cd $(UNIX_DIR); pwd; \
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes$(ROOTSOFTLINKS): $(ROOTMODULE)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes $(RM) $@; $(SYMLINK) $(MODULE) $@
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg# Include common targets.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesinclude $(UTSBASE)/sun4u/Makefile.targ
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# For now, disable these lint checks; maintainers should endeavor
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# to investigate and remove these for maximum lint coverage.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes# Please do not carry these forward to new Makefiles.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes#
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINTTAGS += -erroff=E_STATIC_UNUSED
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCERRWARN += -_gcc=-Wno-parentheses
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCERRWARN += -_gcc=-Wno-uninitialized
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCERRWARN += -_gcc=-Wno-type-limits
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCERRWARN += -_gcc=-Wno-clobbered
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes