Makefile revision f4b3ec61df05330d25f55a36b975b4d7519fdeb1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# 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
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews# uts/sparc/tun/Makefile
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#ident "%Z%%M% %I% %E% SMI"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This makefile drives the production of the configured tunneling
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# streams kernel module.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# SPARC 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 = tun
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOBJECTS = $(TUN_OBJS:%=$(OBJS_DIR)/%)
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsLINTS = $(TUN_OBJS:%.o=$(LINTS_DIR)/%.ln)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTMODULE = $(ROOT_STRMOD_DIR)/$(MODULE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Extra for $(MODULE).check target
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Need to remove ipddi.o since it has non-static defines for _init etc.
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox UserIP_CHECK_OBJS = $(IP_OBJS:ipddi.o=ip.o)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinEXTRA_CHECK_OBJS = $(IP_CHECK_OBJS:%=../ip/$(OBJS_DIR)/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User# Include common rules.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude $(UTSBASE)/sparc/Makefile.sparc
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define targets
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox User#
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox UserALL_TARGET = $(BINARY)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINT_TARGET = $(MODULE).lint
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox UserINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox User
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox User#
ddbd14ec13b6dc0130a94b46b6a3156549cb9911Tinderbox User# lint pass one enforcement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox UserCFLAGS += $(CCVERBOSE)
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User#
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User# depends on ip and ip6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox UserLDFLAGS += -dy -Ndrv/ip -Ndrv/ip6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# For now, disable these lint checks; maintainers should endeavor
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# to investigate and remove these for maximum lint coverage.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Please do not carry these forward to new Makefiles.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater#
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox UserLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic UpdaterLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic UpdaterLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater#
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User# Default build targets.
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.KEEP_STATE:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox Userdef: $(DEF_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall: $(ALL_DEPS)
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean: $(CLEAN_DEPS)
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclobber: $(CLOBBER_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox Userlint: $(LINT_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox Usermodlintlib: $(MODLINTLIB_DEPS)
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: $(INSTALL_DEPS)
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic Updater
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic Updatersis_check: sis_check.obj
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinsis_check.obj: $(ALL_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @$(GREP) -v '#' $(MODULE).objt-symbols.obj64 |$(GREP) . |$(SORT) -u \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein > $(MODULE).symbols.tmp
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews @$(NM) obj64/$(MODULE) |$(GREP) OBJT |$(GREP) -v UNDEF | \
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews $(CUT) -d'|' -f8 |$(SORT) -u > $(MODULE).symbols.tmp.new
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -@$(DIFF) $(MODULE).symbols.tmp $(MODULE).symbols.tmp.new
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Include common targets.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrewsinclude $(UTSBASE)/sparc/Makefile.targ
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein