Makefile revision d291d9f21e8c0417aec99de243dd48bc400002d0
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
c78c39caab4cf8b5daefc9c65878f7f5ed3eb7a0Tinderbox User#
f536382c59dd492a14667b753816d920f9981f1cTinderbox User# The contents of this file are subject to the terms of the
ab496cc3df1648e9ad992a87c35c2c0870fdc69dTinderbox User# Common Development and Distribution License, Version 1.0 only
7c1468ed500356839a4a222517364e6ce18cb1a2Tinderbox User# (the "License"). You may not use this file except in compliance
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User# with the License.
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews#
287a6a8f9040dc43560cd69cddf83bfc0f53b76fTinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# or http://www.opensolaris.org/os/licensing.
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# See the License for the specific language governing permissions
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User# and limitations under the License.
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# If applicable, add the following below this CDDL HEADER, with the
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# CDDL HEADER END
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# uts/sparc/st/Makefile
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# Use is subject to license terms.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User#ident "%Z%%M% %I% %E% SMI"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# This makefile drives the production of the st driver kernel module.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# sparc architecture dependent
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Path to the base of the uts directory tree (usually /usr/src/uts).
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsUTSBASE = ../..
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# Define the module and object file sets.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox UserMODULE = st
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsOBJECTS = $(ST_OBJS:%=$(OBJS_DIR)/%)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntLINTS = $(ST_OBJS:%.o=$(LINTS_DIR)/%.ln)
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox UserROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox UserCONF_SRCDIR = $(UTSBASE)/sun/io/scsi/targets
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntWARLOCK_OUT = $(ST_OBJS:%.o=%.ll)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterWARLOCK_OK = $(MODULE).ok
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# Include common rules.
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User#
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.sparc
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Define targets
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterALL_TARGET = $(BINARY) $(SRC_CONFILE)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsLINT_TARGET = $(MODULE).lint
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic UpdaterINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# lint pass one enforcement
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCFLAGS += $(CCVERBOSE)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User# Default build targets.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater.KEEP_STATE:
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrewsall: $(ALL_DEPS)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsdef: $(DEF_DEPS)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsclean: $(CLEAN_DEPS); \
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntclobber: $(CLOBBER_DEPS); \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
95637507c3d47481fbf0a8a8c750a57f944f677fMark Andrews
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntlint: $(LINT_DEPS)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntmodlintlib: $(MODLINTLIB_DEPS)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntclean.lint: $(CLEAN_LINT_DEPS)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntinstall: $(INSTALL_DEPS)
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Include common targets.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
ee11dfc481f2ef6a032a715454f6290961a722d2Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.targ
ee11dfc481f2ef6a032a715454f6290961a722d2Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User# Defines for local commands.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox UserWARLOCK = warlock
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox UserWLCC = wlcc
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsTOUCH = touch
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox UserSCCS = sccs
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsTEST = test
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
77932ac533c711eca5cd86de4e7eca8d91102b43Tinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Warlock targets
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# Note that in warlock_with_{esp,isp} it is important to load st.ll
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# before {isp,esp}.ll; the reason is that both have _init/_info/_fini
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# and warlock can only handle one extern function by a given name;
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# any loaded after the first are ignored.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserSCSI_FILES = $(SCSI_OBJS:%.o=-l ../scsi/%.ll)
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsST_FILES = $(ST_OBJS:%.o=%.ll)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userwarlock: warlock_alone warlock_with_esp warlock_with_isp warlock_with_fas \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews warlock_with_glm
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonwarlock_alone: $(MODULE).ok
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews%.wlcmd:
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User $(TEST) -f $@ || $(SCCS) get $@
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userwarlock_with_esp: st_with_esp.wlcmd $(ST_FILES) scsi_files esp_files \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson warlock_ddi.files
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User $(WARLOCK) -c ./st_with_esp.wlcmd \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(ST_FILES) ../esp/esp $(SCSI_FILES) \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User -l ../warlock/ddi_dki_impl.ll
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrewswarlock_with_fas: st_with_fas.wlcmd $(ST_FILES) scsi_files fas_files \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews warlock_ddi.files
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(WARLOCK) -c ./st_with_fas.wlcmd \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User $(ST_FILES) \
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User ../fas/fas ../fas/fas_callbacks \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(SCSI_FILES) \
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User -l ../warlock/ddi_dki_impl.ll
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox Userwarlock_with_isp: st_with_isp.wlcmd $(ST_FILES) scsi_files isp_files \
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User warlock_ddi.files
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont $(WARLOCK) -c ./st_with_isp.wlcmd \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User $(ST_FILES) ../isp/isp $(SCSI_FILES) \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews -l ../warlock/ddi_dki_impl.ll
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewswarlock_with_glm: st_with_glm.wlcmd $(ST_FILES) scsi_files glm_files \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User warlock_ddi.files
5747235bf35e7398984fd6b4632743396895ea7aTinderbox User $(WARLOCK) -c ./st_with_glm.wlcmd \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(ST_FILES) ../glm/glm $(SCSI_FILES) \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews -l ../warlock/ddi_dki_impl.ll
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsscsi_files:
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews @cd ../scsi; pwd; $(MAKE) warlock
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox Useresp_files:
5747235bf35e7398984fd6b4632743396895ea7aTinderbox User @cd ../esp; pwd; $(MAKE) warlock
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsfas_files:
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User @cd ../fas; pwd; $(MAKE) warlock
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsisp_files:
e20788e1216ed720aefa84f3295f7899d9f28c22Mark Andrews @cd ../isp; pwd; $(MAKE) warlock
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsglm_files:
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews @cd ../glm; pwd; $(MAKE) warlock
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox Userst.ok: st.wlcmd st.ll st_conf.ll scsi_files warlock_ddi.files
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User $(WARLOCK) -c ./st.wlcmd $(ST_FILES) $(SCSI_FILES) \
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater -l ../warlock/ddi_dki_impl.ll
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(TOUCH) $@
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews%.ll: $(UTSBASE)/common/io/scsi/targets/%.c
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userwarlock_ddi.files:
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @cd ../warlock; pwd; $(MAKE) warlock
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsscsi.files:
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User @cd ../scsi; pwd; $(MAKE) warlock
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User