Makefile revision bf56214c0556fa6864189c826d39dbe156bb22a0
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder#
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich#
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich# CDDL HEADER END
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich#
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich#
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maeder# Use is subject to license terms.
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder#
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maeder#ident "%Z%%M% %I% %E% SMI"
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski#
df29370ae8d8b41587957f6bcdcb43a3f1927e47Christian Maeder#
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder#
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski# This makefile drives the production of the ibnex driver
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder#
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# sparc architecture dependent
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Path to the base of the uts directory tree (usually /usr/src/uts).
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder#
2e2094a642e3775b0d76b890556407941d3a53b6Christian MaederUTSBASE = ../..
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
e8db9a65830cf71504e33c6f441a67b4d184a3caChristian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Define the module and object file sets.
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederMODULE = ib
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederOBJECTS = $(IB_OBJS:%=$(OBJS_DIR)/%)
8410667510a76409aca9bb24ff0eda0420088274Christian MaederLINTS = $(IB_OBJS:%.o=$(LINTS_DIR)/%.ln)
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian MaederCONF_SRCDIR = $(UTSBASE)/common/io/ib/ibnex
ad270004874ce1d0697fb30d7309f180553bb315Christian MaederWARLOCK_OUT = $(IB_OBJS:%.o=%.ll)
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian MaederWARLOCK_OK = $(MODULE).ok
4cb215739e9ab13447fa21162482ebe485b47455Christian MaederWLCMD_DIR = $(UTSBASE)/common/io/warlock
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Include common rules.
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederinclude $(UTSBASE)/sparc/Makefile.sparc
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder#
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maeder# Define targets
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederALL_TARGET = $(BINARY) $(SRC_CONFILE)
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederLINT_TARGET = $(MODULE).lint
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder#
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# Overrides.
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder#
f041c9a6bda23de33a38490e35b831ae18d96b45Christian MaederALL_BUILDS = $(ALL_BUILDSONLY64)
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian MaederDEF_BUILDS = $(DEF_BUILDSONLY64)
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder#
c3053d57f642ca507cdf79512e604437c4546cb9Christian Maeder# lint pass one enforcement
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder#
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian MaederCFLAGS += $(CCVERBOSE)
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder#
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder# For now, disable these lint checks; maintainers should endeavor
c2fcc35abb03cf0b4ca4b050efeb10827f38c322Christian Maeder# to investigate and remove these for maximum lint coverage.
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder# Please do not carry these forward to new Makefiles.
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder#
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian MaederLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian MaederLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian MaederLINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian MaederLINTTAGS += -erroff=E_STATIC_UNUSED
0206ab93ef846e4e0885996d052b9b73b9dc66b0Christian MaederLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
f13d1e86e58da53680e78043e8df182eed867efbChristian MaederLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
c2a4d8ae266aa37cc922eba97077520229a19902Christian Maeder
03a6d8f77f588dc5d3dd6653797fa2362efa1751Christian Maeder#
757e6c79ec40491d45dc72c82b5eb59a386634b0Jian Chun Wang# depends on misc/ibtl
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder#
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian MaederLDFLAGS += -dy -Nmisc/ibdm -Nmisc/ibtl
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich#
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich# Default build targets.
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich#
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder.KEEP_STATE:
5ad5dffe06818a13e1632b1119fbca7881085fc1Dominik Luecke
8cacad2a09782249243b80985f28e9387019fe40Christian Maederdef: $(DEF_DEPS)
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maederall: $(ALL_DEPS)
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maederclean: $(CLEAN_DEPS)
df35538fec1d9135602308d577255c0d466b6365Christian Maeder $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
df35538fec1d9135602308d577255c0d466b6365Christian Maeder
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maederclobber: $(CLOBBER_DEPS)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederlint: $(LINT_DEPS)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedermodlintlib: $(MODLINTLIB_DEPS) lint32
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederclean.lint: $(CLEAN_LINT_DEPS)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederinstall: $(INSTALL_DEPS)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder# Include common targets.
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederinclude $(UTSBASE)/sparc/Makefile.targ
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder#
776a1a086df734581431e6edb4343ed4c8d34d55Christian Maeder# Defines for local commands.
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder#
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian MaederWARLOCK = warlock
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian MaederWLCC = wlcc
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian MaederTOUCH = touch
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederTEST = test
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederwarlock: $(WARLOCK_OK)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/ib.wlcmd ibdm_files warlock_ddi.files
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(WARLOCK) -c $(WLCMD_DIR)/ib.wlcmd $(WARLOCK_OUT) \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder -l ../ibdm/ibdm.ll -l ../warlock/ddi_dki_impl.ll
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(TOUCH) $@
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder%.ll: $(UTSBASE)/common/io/ib/ibnex/%.c \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(UTSBASE)/common/sys/ib/ibnex/ibnex.h \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(UTSBASE)/common/sys/ib/ibnex/ibnex_devctl.h
03a6d8f77f588dc5d3dd6653797fa2362efa1751Christian Maeder $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maederibdm_files :
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder @cd ../ibdm; pwd; $(MAKE) warlock
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
a5e5b8c3e5c11177e5034ef2423813a5d28979edChristian Maederwarlock_ddi.files:
bc8cbf12aa172bf5673b92a9e7a0151d4aa4c315Christian Maeder @cd ../warlock; pwd; $(MAKE) warlock
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder