Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
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.
d8c71aacc9f1c8cd40a8ad8dcdad9be8854b849fChristian 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
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich# information: Portions Copyright [yyyy] [name of copyright owner]
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder#
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder# CDDL HEADER END
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder#
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder#
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder# Use is subject to license terms.
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich#
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich#
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich# Path to the base of the uts directory tree.
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder#
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus LuettichUTSBASE = ../..
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maeder#
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski# Define the module and object file sets.
df29370ae8d8b41587957f6bcdcb43a3f1927e47Christian Maeder#
bd54a9917cd87169b8e40bcc5616c537fed85815Christian MaederMODULE = scsa1394
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichOBJECTS = $(SCSA1394_OBJS:%=$(OBJS_DIR)/%)
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichLINTS = $(SCSA1394_OBJS:%.o=$(LINTS_DIR)/%.ln)
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus LuettichROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till MossakowskiWARLOCK_OUT = $(SCSA1394_OBJS:%.o=%.ll)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian MaederWARLOCK_OK = $(MODULE).ok
e7757995211bd395dc79d26fe017d99375f7d2a6Christian MaederWLCMD_DIR = $(UTSBASE)/common/io/warlock
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# Include common rules.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maederinclude $(UTSBASE)/intel/Makefile.intel
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
e8db9a65830cf71504e33c6f441a67b4d184a3caChristian Maeder# Define targets
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian MaederALL_TARGET = $(BINARY)
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederLINT_TARGET = $(MODULE).lint
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettich# depends on
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich#
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus LuettichLDFLAGS += -dy -Nmisc/scsi -Nmisc/s1394 -Nmisc/sbp2
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder
caa7f6cdf9f7d08300b4b17f1eaca30fdc6c94e1Christian Maeder#
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maeder# For now, disable these lint checks; maintainers should endeavor
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich# to investigate and remove these for maximum lint coverage.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder# Please do not carry these forward to new Makefiles.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian MaederLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian MaederLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCERRWARN += -_gcc=-Wno-parentheses
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederCERRWARN += -_gcc=-Wno-uninitialized
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder# Default build targets.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
0206ab93ef846e4e0885996d052b9b73b9dc66b0Christian Maeder.KEEP_STATE:
f13d1e86e58da53680e78043e8df182eed867efbChristian Maeder
cdd280437686b1e2e25e3761d4adf3d4a0a2d11cKlaus Luettichdef: $(DEF_DEPS)
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederall: $(ALL_DEPS)
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maederclean: $(CLEAN_DEPS)
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettichclobber: $(CLOBBER_DEPS)
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederlint: $(LINT_DEPS)
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maedermodlintlib: $(MODLINTLIB_DEPS)
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maederclean.lint: $(CLEAN_LINT_DEPS)
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maeder
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maederinstall: $(INSTALL_DEPS)
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maeder# Include common targets.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederinclude $(UTSBASE)/intel/Makefile.targ
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# Defines for local commands.
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederWARLOCK = warlock
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederWLCC = wlcc
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederTOUCH = touch
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederTEST = test
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# Warlock targets
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder#
776a1a086df734581431e6edb4343ed4c8d34d55Christian MaederSBP2_FILES = $(SBP2_OBJS:%.o= -l ../sbp2/%.ll)
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian MaederSD_FILES = $(SD_OBJS:%.o=../sd/%.ll)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederSCSI_FILES = $(SCSI_OBJS:%.o= -l ../scsi/%.ll)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederCMLB_FILES = $(CMLB_OBJS:%.o=-l ../cmlb/%.ll)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederwarlock: $(WARLOCK_OK)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder$(WARLOCK_OK): $(WARLOCK_OUT) sbp2.files warlock_ddi.files \
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(WLCMD_DIR)/scsa1394.wlcmd sd.files scsi.files cmlb.files
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(WARLOCK) -c $(WLCMD_DIR)/scsa1394.wlcmd $(WARLOCK_OUT) $(SD_FILES) \
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder $(SCSI_FILES) \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(CMLB_FILES) \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder $(SBP2_FILES) \
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder -l ../warlock/ddi_dki_impl.ll
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder $(TOUCH) $@
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder%.ll: $(UTSBASE)/common/io/1394/targets/scsa1394/%.c
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder $(WLCC) $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $<
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
4017ebc0f692820736d796af3110c3b3018c108aChristian Maedersbp2.files:
ad4889ebb40efae8595b0969dd6ba1162d52bac3Christian Maeder @cd ../sbp2; pwd; $(MAKE) warlock
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederwarlock_ddi.files:
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder @cd ../warlock; pwd; $(MAKE) warlock
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maedersd.files:
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder @cd ../sd; pwd; $(MAKE) warlock_alone
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederscsi.files:
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder @cd ../scsi; pwd; $(MAKE) warlock
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maedercmlb.files:
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder @cd ../cmlb; pwd; $(MAKE) warlock
88318aafc287e92931dceffbb943d58a9310001dChristian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder