Makefile revision 4ebb14b236958cfe1ef4ff3b7a50216d9e51f997
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER START
32098293b78922a5fbd10906afa28624820d3756Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Common Development and Distribution License (the "License").
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# You may not use this file except in compliance with the License.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# 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.
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# When distributing Covered Code, include this CDDL HEADER in each
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# 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
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# Copyright 2006 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#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# This makefile drives the production of the usbprn kernel driver.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# sparc architecture dependent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# uts/sparc/usbprn/Makefile
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Path to the base of the uts directory tree (usually /usr/src/uts).
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserUTSBASE = ../..
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Define the module and object file sets.
0b89eee6167201843c9a46b7e7c63cb1e4e09ba3Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntMODULE = usbprn
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntOBJECTS = $(USBPRN_OBJS:%=$(OBJS_DIR)/%)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINTS = $(USBPRN_OBJS:%.o=$(LINTS_DIR)/%.ln)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox UserWARLOCK_OUT = $(USBPRN_OBJS:%.o=%.ll)
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox UserWARLOCK_OK = $(MODULE).ok
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntWLCMD_DIR = $(UTSBASE)/common/io/warlock
d253648fe3331622cebea02d60aaecca3082d78dTinderbox User
bfb7b680bf88c1fdd9949197b71c512c532280a4Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Include common rules.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntinclude $(UTSBASE)/sparc/Makefile.sparc
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# lint pass one enforcement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserCFLAGS += $(CCVERBOSE)
f9ce6280cec79deb16ff6d9807aa493ff23e10d9Tinderbox User
0b89eee6167201843c9a46b7e7c63cb1e4e09ba3Tinderbox User#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# depends on misc/usba
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserLDFLAGS += -dy -Nmisc/usba
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Define targets
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User#
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserALL_TARGET = $(BINARY)
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserLINT_TARGET = $(MODULE).lint
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# For now, disable these lint checks; maintainers should endeavor
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# to investigate and remove these for maximum lint coverage.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Please do not carry these forward to new Makefiles.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt.KEEP_STATE:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntall: $(ALL_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdef: $(DEF_DEPS)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userclean: $(CLEAN_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userclobber: $(CLOBBER_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userlint: $(LINT_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Usermodlintlib: $(MODLINTLIB_DEPS)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userinstall: $(INSTALL_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User#
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User# Include common targets.
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User#
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.targ
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User# Defines for local commands.
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserWARLOCK = warlock
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserWLCC = wlcc
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserTOUCH = touch
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserSCCS = sccs
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserTEST = test
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User# lock_lint rules
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox UserUSBA_FILES = $(USBA_OBJS:%.o=../usba/%.ll)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserUHCI_FILES = $(UHCI_OBJS:%.o=../uhci/%.ll)
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserOHCI_FILES = $(OHCI_OBJS:%.o=../ohci/%.ll)
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox UserEHCI_FILES = $(EHCI_OBJS:%.o=../ehci/%.ll)
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox Userwarlock: $(WARLOCK_OK) warlock_with_usba
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User%.wlcmd:
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User cd $(WLCMD_DIR); $(TEST) -f $@ || $(SCCS) get $@
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User$(WARLOCK_OK): $(WARLOCK_OUT) usbprn.wlcmd warlock_ddi.files
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User $(WARLOCK) -c $(WLCMD_DIR)/usbprn.wlcmd $(WARLOCK_OUT) \
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User -l ../warlock/ddi_dki_impl.ll
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $(TOUCH) $@
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User%.ll: $(UTSBASE)/common/io/usb/clients/printer/%.c \
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User $(UTSBASE)/common/sys/usb/clients/printer/usbprn.h
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox Userwarlock_with_usba: usbprn_with_usba.wlcmd $(WARLOCK_OUT) usba_files \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ohci_files ehci_files uhci_files warlock_ddi.files
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User $(WARLOCK) -c $(WLCMD_DIR)/usbprn_with_usba.wlcmd \
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User $(USBA_FILES) $(OHCI_FILES) $(EHCI_FILES) $(UHCI_FILES) \
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User $(WARLOCK_OUT) \
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User -l ../warlock/ddi_dki_impl.ll
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userusba_files:
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User @cd ../usba;pwd; $(MAKE) warlock
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox Userohci_files:
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User @cd ../ohci;pwd; $(MAKE) warlock
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox Useruhci_files:
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User @cd ../uhci;pwd; $(MAKE) warlock
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userehci_files:
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User @cd ../ehci;pwd; $(MAKE) warlock
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userwarlock_ddi.files:
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User cd ../warlock; pwd; $(MAKE) warlock
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt