Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe#
bf52162f2d05c1fb1a107c7ef108de73f739b3edpquerna# CDDL HEADER START
2534e869d2ba209bd0c43717ea80992e6de0c51djim#
2534e869d2ba209bd0c43717ea80992e6de0c51djim# The contents of this file are subject to the terms of the
2534e869d2ba209bd0c43717ea80992e6de0c51djim# Common Development and Distribution License, Version 1.0 only
8e8568ec7d29f056a2a4942d1d50481e441c25d9covener# (the "License"). You may not use this file except in compliance
4ea8055e720d18f386b8026b546e5836ecccba4arjung# with the License.
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe#
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe# or http://www.opensolaris.org/os/licensing.
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe# See the License for the specific language governing permissions
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe# and limitations under the License.
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe#
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe# When distributing Covered Code, include this CDDL HEADER in each
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# If applicable, add the following below this CDDL HEADER, with the
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# fields enclosed by brackets "[]" replaced with your own identifying
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# information: Portions Copyright [yyyy] [name of copyright owner]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick#
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# CDDL HEADER END
46fdfef7dfc745effe179387e1dcb8245d3804batrawick#
46fdfef7dfc745effe179387e1dcb8245d3804batrawick#
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# uts/sparc/st/Makefile
46fdfef7dfc745effe179387e1dcb8245d3804batrawick#
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick# Use is subject to license terms.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick#
46fdfef7dfc745effe179387e1dcb8245d3804batrawick#ident "%Z%%M% %I% %E% SMI"
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe#
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe# This makefile drives the production of the st driver kernel module.
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe#
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe# sparc architecture dependent
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe#
f55c048e33a905f9f771b3aed309373bdf547944jorton
f55c048e33a905f9f771b3aed309373bdf547944jorton#
f55c048e33a905f9f771b3aed309373bdf547944jorton# Path to the base of the uts directory tree (usually /usr/src/uts).
f55c048e33a905f9f771b3aed309373bdf547944jorton#
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjortonUTSBASE = ../..
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton#
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton# Define the module and object file sets.
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin#
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrinMODULE = st
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrinOBJECTS = $(ST_OBJS:%=$(OBJS_DIR)/%)
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrinLINTS = $(ST_OBJS:%.o=$(LINTS_DIR)/%.ln)
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrinROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrinCONF_SRCDIR = $(UTSBASE)/sun/io/scsi/targets
a89e2c1651aab7734345fa3a6712a757708535ferjung
a89e2c1651aab7734345fa3a6712a757708535ferjung#
a89e2c1651aab7734345fa3a6712a757708535ferjung# Include common rules.
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung#
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjunginclude $(UTSBASE)/sparc/Makefile.sparc
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung#
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung# Define targets
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung#
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjungALL_TARGET = $(BINARY) $(SRC_CONFILE)
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjungLINT_TARGET = $(MODULE).lint
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjungINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung#
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung# lint pass one enforcement
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung#
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjungCFLAGS += $(CCVERBOSE)
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf#
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf# Default build targets.
298eb744831be682f749ffe1c01c88d82adf215esf#
298eb744831be682f749ffe1c01c88d82adf215esf.KEEP_STATE:
298eb744831be682f749ffe1c01c88d82adf215esf
298eb744831be682f749ffe1c01c88d82adf215esfall: $(ALL_DEPS)
298eb744831be682f749ffe1c01c88d82adf215esf
298eb744831be682f749ffe1c01c88d82adf215esfdef: $(DEF_DEPS)
298eb744831be682f749ffe1c01c88d82adf215esf
298eb744831be682f749ffe1c01c88d82adf215esfclean: $(CLEAN_DEPS)
298eb744831be682f749ffe1c01c88d82adf215esf
b9aa9ca00496f67eb755d67764775ff23ac7eb03covenerclobber: $(CLOBBER_DEPS)
b9aa9ca00496f67eb755d67764775ff23ac7eb03covener
f2386b627177c7a80d38fed6ec0aed3c086909c1covenerlint: $(LINT_DEPS)
f2386b627177c7a80d38fed6ec0aed3c086909c1covener
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrinmodlintlib: $(MODLINTLIB_DEPS)
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrinclean.lint: $(CLEAN_LINT_DEPS)
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrininstall: $(INSTALL_DEPS)
1a668f25bc6b4b111822caaba70bb9289d64ade5niq
1a668f25bc6b4b111822caaba70bb9289d64ade5niq# Include common targets.
1a668f25bc6b4b111822caaba70bb9289d64ade5niq#
7a6c86627922e38fa227943b9f888f96109681e5covenerinclude $(UTSBASE)/sparc/Makefile.targ
7a6c86627922e38fa227943b9f888f96109681e5covener
7a6c86627922e38fa227943b9f888f96109681e5covener#
7a6c86627922e38fa227943b9f888f96109681e5covener# Defines for local commands.
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener#
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovenerWARLOCK = warlock
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovenerWLCC = wlcc
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovenerTOUCH = touch
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovenerSCCS = sccs
8068423ee2d80a7c42b2325a71c24ac9485327cecovenerTEST = test
8068423ee2d80a7c42b2325a71c24ac9485327cecovener
8068423ee2d80a7c42b2325a71c24ac9485327cecovener#
8068423ee2d80a7c42b2325a71c24ac9485327cecovener# Warlock targets
8068423ee2d80a7c42b2325a71c24ac9485327cecovener#
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener# Note that in warlock_with_{esp,isp} it is important to load st.ll
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener# before {isp,esp}.ll; the reason is that both have _init/_info/_fini
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener# and warlock can only handle one extern function by a given name;
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener# any loaded after the first are ignored.
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawick
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawickST_FILES = $(MODULE).ll
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawickSCSI_FILES = $(SCSI_OBJS:%.o=-l ../scsi/%.ll)
5a2f24f5e41d52e59e1c11e90cd423b8967d4184trawick
5a2f24f5e41d52e59e1c11e90cd423b8967d4184trawickwarlock: warlock_alone warlock_with_esp warlock_with_isp warlock_with_fas \
5a2f24f5e41d52e59e1c11e90cd423b8967d4184trawick warlock_with_glm
19ce7effbcc8a735f1a883f9266e086fde2adb63poirier
19ce7effbcc8a735f1a883f9266e086fde2adb63poirierwarlock_alone: $(MODULE).ok
19ce7effbcc8a735f1a883f9266e086fde2adb63poirier
5d58d0bc1ce35e0ee814b6c2dc21a5286e460b87covener%.wlcmd:
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener $(TEST) -f $@ || $(SCCS) get $@
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovenerwarlock_with_esp: st_with_esp.wlcmd $(ST_FILES) scsi_files esp_files \
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener warlock_ddi.files
c6124d7fde07b58d51785d0f1cb509026eeaa138jim $(WARLOCK) -c ./st_with_esp.wlcmd \
c6124d7fde07b58d51785d0f1cb509026eeaa138jim $(ST_FILES) ../esp/esp $(SCSI_FILES) \
c6124d7fde07b58d51785d0f1cb509026eeaa138jim -l ../warlock/ddi_dki_impl.ll
c6124d7fde07b58d51785d0f1cb509026eeaa138jim
680e7b4c70df00b695883c824947ca6ec15d69ecsfwarlock_with_fas: st_with_fas.wlcmd $(ST_FILES) scsi_files fas_files \
680e7b4c70df00b695883c824947ca6ec15d69ecsf warlock_ddi.files
680e7b4c70df00b695883c824947ca6ec15d69ecsf $(WARLOCK) -c ./st_with_fas.wlcmd \
3a49a6c98ef80c71830e66e7f8f46083001b494ctrawick $(ST_FILES) \
3a49a6c98ef80c71830e66e7f8f46083001b494ctrawick ../fas/fas ../fas/fas_callbacks \
d46dfdce9351f52a971777948d9b02f8fc668ff8niq $(SCSI_FILES) \
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin -l ../warlock/ddi_dki_impl.ll
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrinwarlock_with_isp: st_with_isp.wlcmd $(ST_FILES) scsi_files isp_files \
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin warlock_ddi.files
03aa31ad82759363ba1a55589e517b16308ef635minfrin $(WARLOCK) -c ./st_with_isp.wlcmd \
03aa31ad82759363ba1a55589e517b16308ef635minfrin $(ST_FILES) ../isp/isp $(SCSI_FILES) \
03aa31ad82759363ba1a55589e517b16308ef635minfrin -l ../warlock/ddi_dki_impl.ll
03aa31ad82759363ba1a55589e517b16308ef635minfrin
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrinwarlock_with_glm: st_with_glm.wlcmd $(ST_FILES) scsi_files glm_files \
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrin warlock_ddi.files
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrin $(WARLOCK) -c ./st_with_glm.wlcmd \
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe $(ST_FILES) ../glm/glm $(SCSI_FILES) \
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe -l ../warlock/ddi_dki_impl.ll
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowescsi_files:
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe @cd ../scsi; pwd; $(MAKE) warlock
433d36fd71af86369719893afe09877be4cb4f3asf
433d36fd71af86369719893afe09877be4cb4f3asfesp_files:
433d36fd71af86369719893afe09877be4cb4f3asf @cd ../esp; pwd; $(MAKE) warlock
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsffas_files:
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf @cd ../fas; pwd; $(MAKE) warlock
46fdfef7dfc745effe179387e1dcb8245d3804batrawick
46fdfef7dfc745effe179387e1dcb8245d3804batrawickisp_files:
46fdfef7dfc745effe179387e1dcb8245d3804batrawick @cd ../isp; pwd; $(MAKE) warlock
46fdfef7dfc745effe179387e1dcb8245d3804batrawick
46fdfef7dfc745effe179387e1dcb8245d3804batrawickglm_files:
46fdfef7dfc745effe179387e1dcb8245d3804batrawick @cd ../glm; pwd; $(MAKE) warlock
46fdfef7dfc745effe179387e1dcb8245d3804batrawick
46fdfef7dfc745effe179387e1dcb8245d3804batrawickst.ok: st.wlcmd $(ST_FILES) scsi_files warlock_ddi.files
46fdfef7dfc745effe179387e1dcb8245d3804batrawick $(WARLOCK) -c ./st.wlcmd $(ST_FILES) $(SCSI_FILES) \
46fdfef7dfc745effe179387e1dcb8245d3804batrawick -l ../warlock/ddi_dki_impl.ll
46fdfef7dfc745effe179387e1dcb8245d3804batrawick $(TOUCH) $@
573f949c582f06bd738a96196f40b646b6d540b8rpluem
573f949c582f06bd738a96196f40b646b6d540b8rpluem%.ll: $(UTSBASE)/common/io/scsi/targets/%.c
573f949c582f06bd738a96196f40b646b6d540b8rpluem $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
c44902d07eab7deb803a59e959f57cf3b7d56655poirier
c44902d07eab7deb803a59e959f57cf3b7d56655poirierwarlock_ddi.files:
c44902d07eab7deb803a59e959f57cf3b7d56655poirier @cd ../warlock; pwd; $(MAKE) warlock
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener
ae1981fc94adf2b231e2d0e15d2f895b2138c969covenerscsi.files:
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener @cd ../scsi; pwd; $(MAKE) warlock
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener