Makefile revision f4b3ec61df05330d25f55a36b975b4d7519fdeb1
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# CDDL HEADER START
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# The contents of this file are subject to the terms of the
080575042aba2197b425ebfd52061dea061a9aa1xy# Common Development and Distribution License (the "License").
080575042aba2197b425ebfd52061dea061a9aa1xy# You may not use this file except in compliance with the License.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
080575042aba2197b425ebfd52061dea061a9aa1xy# or http://www.opensolaris.org/os/licensing.
080575042aba2197b425ebfd52061dea061a9aa1xy# See the License for the specific language governing permissions
080575042aba2197b425ebfd52061dea061a9aa1xy# and limitations under the License.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# When distributing Covered Code, include this CDDL HEADER in each
080575042aba2197b425ebfd52061dea061a9aa1xy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
080575042aba2197b425ebfd52061dea061a9aa1xy# If applicable, add the following below this CDDL HEADER, with the
080575042aba2197b425ebfd52061dea061a9aa1xy# fields enclosed by brackets "[]" replaced with your own identifying
080575042aba2197b425ebfd52061dea061a9aa1xy# information: Portions Copyright [yyyy] [name of copyright owner]
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# CDDL HEADER END
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# uts/sparc/tun/Makefile
080575042aba2197b425ebfd52061dea061a9aa1xy# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
080575042aba2197b425ebfd52061dea061a9aa1xy# Use is subject to license terms.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy#ident "%Z%%M% %I% %E% SMI"
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# This makefile drives the production of the configured tunneling
080575042aba2197b425ebfd52061dea061a9aa1xy# streams kernel module.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# SPARC architecture dependent
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Path to the base of the uts directory tree (usually /usr/src/uts).
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyUTSBASE = ../..
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Define the module and object file sets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyMODULE = tun
080575042aba2197b425ebfd52061dea061a9aa1xyOBJECTS = $(TUN_OBJS:%=$(OBJS_DIR)/%)
080575042aba2197b425ebfd52061dea061a9aa1xyLINTS = $(TUN_OBJS:%.o=$(LINTS_DIR)/%.ln)
080575042aba2197b425ebfd52061dea061a9aa1xyROOTMODULE = $(ROOT_STRMOD_DIR)/$(MODULE)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Extra for $(MODULE).check target
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Need to remove ipddi.o since it has non-static defines for _init etc.
080575042aba2197b425ebfd52061dea061a9aa1xyIP_CHECK_OBJS = $(IP_OBJS:ipddi.o=ip.o)
080575042aba2197b425ebfd52061dea061a9aa1xyEXTRA_CHECK_OBJS = $(IP_CHECK_OBJS:%=../ip/$(OBJS_DIR)/%)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Include common rules.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(UTSBASE)/sparc/Makefile.sparc
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Define targets
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyALL_TARGET = $(BINARY)
080575042aba2197b425ebfd52061dea061a9aa1xyLINT_TARGET = $(MODULE).lint
080575042aba2197b425ebfd52061dea061a9aa1xyINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# lint pass one enforcement
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyCFLAGS += $(CCVERBOSE)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# depends on ip and ip6
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyLDFLAGS += -dy -Ndrv/ip -Ndrv/ip6
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# For now, disable these lint checks; maintainers should endeavor
080575042aba2197b425ebfd52061dea061a9aa1xy# to investigate and remove these for maximum lint coverage.
080575042aba2197b425ebfd52061dea061a9aa1xy# Please do not carry these forward to new Makefiles.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
080575042aba2197b425ebfd52061dea061a9aa1xyLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
080575042aba2197b425ebfd52061dea061a9aa1xyLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Default build targets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy.KEEP_STATE:
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xydef: $(DEF_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyall: $(ALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean: $(CLEAN_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclobber: $(CLOBBER_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xylint: $(LINT_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xymodlintlib: $(MODLINTLIB_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean.lint: $(CLEAN_LINT_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinstall: $(INSTALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xysis_check: sis_check.obj
080575042aba2197b425ebfd52061dea061a9aa1xysis_check.obj: $(ALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy @$(GREP) -v '#' $(MODULE).objt-symbols.obj64 |$(GREP) . |$(SORT) -u \
080575042aba2197b425ebfd52061dea061a9aa1xy > $(MODULE).symbols.tmp
080575042aba2197b425ebfd52061dea061a9aa1xy @$(NM) obj64/$(MODULE) |$(GREP) OBJT |$(GREP) -v UNDEF | \
080575042aba2197b425ebfd52061dea061a9aa1xy $(CUT) -d'|' -f8 |$(SORT) -u > $(MODULE).symbols.tmp.new
080575042aba2197b425ebfd52061dea061a9aa1xy -@$(DIFF) $(MODULE).symbols.tmp $(MODULE).symbols.tmp.new
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Include common targets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(UTSBASE)/sparc/Makefile.targ
080575042aba2197b425ebfd52061dea061a9aa1xy