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 Serengeti 29# UltraSPARC 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_SERENGETI_CPU_DIR)/$(MODULE) 44SOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+ 45ROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_SERENGETI_CPU_DIR)/%) 46 47CPU_DIR = . 48HERE = ../cheetahplus 49 50# 51# Include common rules. 52# 53include $(UTSBASE)/sun4u/serengeti/Makefile.serengeti 54 55# 56# Override defaults 57# 58CLEANFILES += $(CPULIB) $(SYM_MOD) 59 60# 61# Define targets 62# 63SYM_MOD = $(OBJS_DIR)/unix.sym 64ALL_TARGET = $(SYM_MOD) 65LINT_TARGET = $(MODULE).lint 66INSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS) 67 68# 69# Overrides 70# 71ALL_BUILDS = $(ALL_BUILDSONLY64) 72DEF_BUILDS = $(DEF_BUILDSONLY64) 73CLEANLINTFILES += $(LINT32_FILES) 74 75# 76# lint pass one enforcement 77# 78CFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 79 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 80ASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 81 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 82 83CERRWARN += -_gcc=-Wno-parentheses 84CERRWARN += -_gcc=-Wno-uninitialized 85CERRWARN += -_gcc=-Wno-unused-variable 86CERRWARN += -_gcc=-Wno-type-limits 87CERRWARN += -_gcc=-Wno-clobbered 88 89# 90# cpu-module-specific flags 91# 92CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 93 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 94AS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \ 95 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT 96 97 98# 99# Default build targets. 100# 101.KEEP_STATE: 102 103def: $(DEF_DEPS) 104 105all: $(ALL_DEPS) 106 107clean: $(CLEAN_DEPS) 108 109clobber: $(CLOBBER_DEPS) 110 111lint: $(LINT_DEPS) 112 113modlintlib: $(MODLINTLIB_DEPS) 114 115clean.lint: $(CLEAN_LINT_DEPS) 116 117install: $(INSTALL_DEPS) 118 119$(CPULIB): $(BINARY) 120 $(BUILD.SO) $(BINARY) 121 122$(SYM_MOD): $(UNIX_O) $(CPULIB) 123 @echo "resolving symbols against unix.o" 124 @echo $(UNIX_DIR) 125 @echo $(OBJS_DIR) 126 @(cd $(UNIX_DIR); pwd; \ 127 CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck) 128 129$(ROOTSOFTLINKS): $(ROOTMODULE) 130 $(RM) $@; $(SYMLINK) $(MODULE) $@ 131 132# Include common targets. 133# 134include $(UTSBASE)/sun4u/serengeti/Makefile.targ 135