Makefile revision 4ebb14b236958cfe1ef4ff3b7a50216d9e51f997
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley#
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# You may not use this file except in compliance with the License.
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews# or http://www.opensolaris.org/os/licensing.
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews#
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# fields enclosed by brackets "[]" replaced with your own identifying
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Use is subject to license terms.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#ident "%Z%%M% %I% %E% SMI"
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# This makefile drives the production of the usbprn kernel driver.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# sparc architecture dependent
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# uts/sparc/usbprn/Makefile
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Path to the base of the uts directory tree (usually /usr/src/uts).
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserUTSBASE = ../..
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Define the module and object file sets.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserMODULE = usbprn
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOBJECTS = $(USBPRN_OBJS:%=$(OBJS_DIR)/%)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserLINTS = $(USBPRN_OBJS:%.o=$(LINTS_DIR)/%.ln)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserWARLOCK_OUT = $(USBPRN_OBJS:%.o=%.ll)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserWARLOCK_OK = $(MODULE).ok
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserWLCMD_DIR = $(UTSBASE)/common/io/warlock
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Include common rules.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userinclude $(UTSBASE)/sparc/Makefile.sparc
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# lint pass one enforcement
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserCFLAGS += $(CCVERBOSE)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# depends on misc/usba
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserLDFLAGS += -dy -Nmisc/usba
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define targets
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinALL_TARGET = $(BINARY)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINT_TARGET = $(MODULE).lint
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User# For now, disable these lint checks; maintainers should endeavor
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User# to investigate and remove these for maximum lint coverage.
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User# Please do not carry these forward to new Makefiles.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox UserLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox UserLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User.KEEP_STATE:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall: $(ALL_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindef: $(DEF_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userclean: $(CLEAN_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclobber: $(CLOBBER_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userlint: $(LINT_DEPS)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Usermodlintlib: $(MODLINTLIB_DEPS)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: $(INSTALL_DEPS)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User# Include common targets.
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User#
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.targ
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Defines for local commands.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserWARLOCK = warlock
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserWLCC = wlcc
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox UserTOUCH = touch
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox UserSCCS = sccs
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox UserTEST = test
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# lock_lint rules
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserUSBA_FILES = $(USBA_OBJS:%.o=../usba/%.ll)
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox UserUHCI_FILES = $(UHCI_OBJS:%.o=../uhci/%.ll)
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox UserOHCI_FILES = $(OHCI_OBJS:%.o=../ohci/%.ll)
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox UserEHCI_FILES = $(EHCI_OBJS:%.o=../ehci/%.ll)
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox Userwarlock: $(WARLOCK_OK) warlock_with_usba
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User%.wlcmd:
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User cd $(WLCMD_DIR); $(TEST) -f $@ || $(SCCS) get $@
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(WARLOCK_OK): $(WARLOCK_OUT) usbprn.wlcmd warlock_ddi.files
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User $(WARLOCK) -c $(WLCMD_DIR)/usbprn.wlcmd $(WARLOCK_OUT) \
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User -l ../warlock/ddi_dki_impl.ll
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User $(TOUCH) $@
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User%.ll: $(UTSBASE)/common/io/usb/clients/printer/%.c \
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User $(UTSBASE)/common/sys/usb/clients/printer/usbprn.h
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userwarlock_with_usba: usbprn_with_usba.wlcmd $(WARLOCK_OUT) usba_files \
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User ohci_files ehci_files uhci_files warlock_ddi.files
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(WARLOCK) -c $(WLCMD_DIR)/usbprn_with_usba.wlcmd \
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User $(USBA_FILES) $(OHCI_FILES) $(EHCI_FILES) $(UHCI_FILES) \
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User $(WARLOCK_OUT) \
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User -l ../warlock/ddi_dki_impl.ll
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox Userusba_files:
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User @cd ../usba;pwd; $(MAKE) warlock
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userohci_files:
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User @cd ../ohci;pwd; $(MAKE) warlock
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Useruhci_files:
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User @cd ../uhci;pwd; $(MAKE) warlock
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userehci_files:
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User @cd ../ehci;pwd; $(MAKE) warlock
6d45011a65dfc43f476ca15c3fd9ee5227eb968fTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox Userwarlock_ddi.files:
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User cd ../warlock; pwd; $(MAKE) warlock
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User