1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27# 28# This makefile drives the production of the Starcat specific 29# UltraSPARC-III+ driver module. 30# 31 32# 33# Path to the base of the uts directory tree (usually /usr/src/uts). 34# 35UTSBASE = ../../.. 36 37# 38# Define the module and object file sets. 39# 40MODULE = SUNW,UltraSPARC-III+ 41OBJECTS = $(CHEETAHPLUS_OBJS:%=$(OBJS_DIR)/%) 42LINTS = $(CHEETAHPLUS_OBJS:%.o=$(LINTS_DIR)/%.ln) 43ROOTMODULE = $(ROOT_STARCAT_CPU_DIR)/$(MODULE) 44SOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+ 45ROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_STARCAT_CPU_DIR)/%) 46 47CPU_DIR = . 48HERE = ../cheetahplus 49 50# 51# Include common rules. 52# 53include $(UTSBASE)/sun4u/starcat/Makefile.starcat 54 55# 56# Override defaults 57# 58CLEANFILES += $(CPULIB) $(SYM_MOD) 59 60# 61# Define targets 62# 63ALL_TARGET = $(SYM_MOD) 64LINT_TARGET = $(MODULE).lint 65INSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS) 66 67# 68# Overrides 69# 70ALL_BUILDS = $(ALL_BUILDSONLY64) 71DEF_BUILDS = $(DEF_BUILDSONLY64) 72CLEANLINTFILES += $(LINT32_FILES) 73 74# 75# lint pass one enforcement 76# 77CFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 78 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 79ASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 80 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 81 82CERRWARN += -_gcc=-Wno-parentheses 83CERRWARN += -_gcc=-Wno-uninitialized 84CERRWARN += -_gcc=-Wno-unused-variable 85CERRWARN += -_gcc=-Wno-type-limits 86CERRWARN += -_gcc=-Wno-clobbered 87 88# 89# cpu-module-specific flags 90# 91CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 92 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 93AS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 94 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 95 96# 97# Default build targets. 98# 99.KEEP_STATE: 100 101def: $(DEF_DEPS) 102 103all: $(ALL_DEPS) 104 105clean: $(CLEAN_DEPS) 106 107clobber: $(CLOBBER_DEPS) 108 109lint: $(LINT_DEPS) 110 111modlintlib: $(MODLINTLIB_DEPS) lint32 112 113clean.lint: $(CLEAN_LINT_DEPS) 114 115install: $(INSTALL_DEPS) 116 117$(CPULIB): $(BINARY) 118 $(BUILD.SO) $(BINARY) 119 120$(SYM_MOD): $(UNIX_O) $(CPULIB) 121 @echo "resolving symbols against unix.o" 122 @(cd $(UNIX_DIR); pwd; \ 123 CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck) 124 125$(ROOTSOFTLINKS): $(ROOTMODULE) 126 $(RM) $@; $(SYMLINK) $(MODULE) $@ 127 128# Include common targets. 129# 130include $(UTSBASE)/sun4u/starcat/Makefile.targ 131