Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This makefile drives the production of the mem_cache driver
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# sparc implementation architecture dependent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Path to the base of the uts directory tree (usually /usr/src/uts).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinUTSBASE = ../..
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define the module and object file sets.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE = mem_cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOBJECTS = $(MEM_CACHE_OBJS:%=$(OBJS_DIR)/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTS = $(MEM_CACHE_OBJS:%.o=$(LINTS_DIR)/%.ln)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTMODULE = $(ROOT_PSM_DRV_DIR)/$(MODULE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONF_SRCDIR = $(UTSBASE)/sun4u/io
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Include common rules.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude $(UTSBASE)/sun4u/Makefile.sun4u
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define targets
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
538a83db7509d598da95a93bd7b74ef3112123a4Mark AndrewsALL_TARGET = $(BINARY) $(SRC_CONFILE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINT_TARGET = $(MODULE).lint
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinDSF_DIR = $(UTSBASE)/$(PLATFORM)/mem_cache/genassym
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews#
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews# lint pass one enforcement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
538a83db7509d598da95a93bd7b74ef3112123a4Mark AndrewsCFLAGS += $(CCVERBOSE)
538a83db7509d598da95a93bd7b74ef3112123a4Mark AndrewsCERRWARN += -_gcc=-Wno-parentheses
538a83db7509d598da95a93bd7b74ef3112123a4Mark AndrewsASFLAGS += -DCHEETAH_PLUS
538a83db7509d598da95a93bd7b74ef3112123a4Mark AndrewsAS_INC_PATH += -I$(DSF_DIR)/$(OBJS_DIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsdef := TARGET= def
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsall := TARGET= all
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsinstall := TARGET= install
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews# Default build targets.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.KEEP_STATE:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindef: genassym $(DEF_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsall: genassym $(ALL_DEPS)
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean: genassym $(CLEAN_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsclobber: genassym $(CLOBBER_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinlint: $(LINT_DEPS)
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmodlintlib: $(MODLINTLIB_DEPS)
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean.lint: $(CLEAN_LINT_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsinstall: genassym $(INSTALL_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrewsgenassym : FRC
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
538a83db7509d598da95a93bd7b74ef3112123a4Mark Andrews
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Include common targets.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude $(UTSBASE)/sparc/Makefile.targ
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein