9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# CDDL HEADER START
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# The contents of this file are subject to the terms of the
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Common Development and Distribution License (the "License").
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# You may not use this file except in compliance with the License.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# or http://www.opensolaris.org/os/licensing.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# See the License for the specific language governing permissions
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# and limitations under the License.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# When distributing Covered Code, include this CDDL HEADER in each
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# If applicable, add the following below this CDDL HEADER, with the
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# fields enclosed by brackets "[]" replaced with your own identifying
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# information: Portions Copyright [yyyy] [name of copyright owner]
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# CDDL HEADER END
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# uts/sparc/ecpp/Makefile
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Use is subject to license terms.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# This Makefile drives the production of ecpp
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# kernel module.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Path to the base of the uts directory tree (usually /usr/src/uts).
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorUTSBASE = ../..
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Define the module and object file sets.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorMODULE = ecpp
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorOBJECTS = $(ECPP_OBJS:%=$(OBJS_DIR)/%)
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorLINTS = $(ECPP_OBJS:%.o=$(LINTS_DIR)/%.ln)
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorCONF_SRCDIR = $(UTSBASE)/common/io
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorWARLOCK_OUT = $(ECPP_OBJS:%.o=%.ll)
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorWARLOCK_OK = $(MODULE).ok
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorWLCMD_DIR = $(UTSBASE)/common/io/warlock
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Include common rules.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorinclude $(UTSBASE)/sparc/Makefile.sparc
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Define targets
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorALL_TARGET = $(BINARY) $(SRC_CONFILE)
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorLINT_TARGET = $(MODULE).lint
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# lint pass one enforcement
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorCFLAGS += $(CCVERBOSE)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Turn this on once compiler understands v9 in it's backend
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#INLINES += $(UTSBASE)/sun/io/ecpp.il
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorCERRWARN += -_gcc=-Wno-uninitialized
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorCERRWARN += -_gcc=-Wno-parentheses
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorCERRWARN += -_gcc=-Wno-unused-variable
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# For now, disable these lint checks; maintainers should endeavor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# to investigate and remove these for maximum lint coverage.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Please do not carry these forward to new Makefiles.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Default build targets.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor.KEEP_STATE:
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowedef: $(DEF_DEPS)
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweall: $(ALL_DEPS)
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweclean: $(CLEAN_DEPS)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorclobber: $(CLOBBER_DEPS)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylormodlintlib: $(MODLINTLIB_DEPS) lint64
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorclean.lint: $(CLEAN_LINT_DEPS)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorinstall: $(INSTALL_DEPS)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Include common targets.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorinclude $(UTSBASE)/sparc/Makefile.targ
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# Defines for local commands.
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorWARLOCK = warlock
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorWLCC = wlcc
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorTOUCH = touch
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorTEST = test
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor# lock_lint rules
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor#
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorwarlock: $(WARLOCK_OK)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/ecpp.wlcmd warlock_ddi.files
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(WARLOCK) -c $(WLCMD_DIR)/ecpp.wlcmd $(WARLOCK_OUT) \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor -l ../warlock/ddi_dki_impl.ll
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(TOUCH) $@
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor%.ll: $(UTSBASE)/common/io/%.c $(UTSBASE)/common/sys/ecppvar.h \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(UTSBASE)/common/sys/ecppio.h
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorwarlock_ddi.files:
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor cd ../warlock; pwd; $(MAKE) warlock
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor