7d7931c1f4d46b041ad2ad6fdb9499289063611eianh#
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb# CDDL HEADER START
b9b69856aec9ea58ea1b1e5aff669e8eaf2ebce4rbb#
b9b69856aec9ea58ea1b1e5aff669e8eaf2ebce4rbb# The contents of this file are subject to the terms of the
b9b69856aec9ea58ea1b1e5aff669e8eaf2ebce4rbb# Common Development and Distribution License (the "License").
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb# You may not use this file except in compliance with the License.
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb#
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7d7931c1f4d46b041ad2ad6fdb9499289063611eianh# or http://www.opensolaris.org/os/licensing.
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb# See the License for the specific language governing permissions
68bcde9c52e9e749482df2800dbdff09559115e0chuck# and limitations under the License.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck#
43ea154f46345c9722c2b25b2b9f5086ec79eaeeorlikowski# When distributing Covered Code, include this CDDL HEADER in each
43ea154f46345c9722c2b25b2b9f5086ec79eaeeorlikowski# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# If applicable, add the following below this CDDL HEADER, with the
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# fields enclosed by brackets "[]" replaced with your own identifying
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# information: Portions Copyright [yyyy] [name of copyright owner]
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck#
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# CDDL HEADER END
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck
53c2eb831bfe47860e3f5ec9190b15cb92f15181chuck#
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
53c2eb831bfe47860e3f5ec9190b15cb92f15181chuck# Use is subject to license terms.
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski#
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski# Copyright 2014 Garrett D'Amore <garrett@damore.org>
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski#
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski#
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski# uts/sparc/usbvc/Makefile
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski# This makefile drives the production of the usbvc kernel driver.
4f7dd0949d92462a8adc31eee8aff266eea55204chuck#
4f7dd0949d92462a8adc31eee8aff266eea55204chuck# sparc architecture dependent
4f7dd0949d92462a8adc31eee8aff266eea55204chuck#
4f7dd0949d92462a8adc31eee8aff266eea55204chuck
4f7dd0949d92462a8adc31eee8aff266eea55204chuck#
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck# Path to the base of the uts directory tree (usually /usr/src/uts).
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck#
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuckUTSBASE = ../..
4f7dd0949d92462a8adc31eee8aff266eea55204chuck
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck#
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# Define the module and object file sets.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckMODULE = usbvc
68bcde9c52e9e749482df2800dbdff09559115e0chuckOBJECTS = $(USBVC_OBJS:%=$(OBJS_DIR)/%)
68bcde9c52e9e749482df2800dbdff09559115e0chuckLINTS = $(USBVC_OBJS:%.o=$(LINTS_DIR)/%.ln)
68bcde9c52e9e749482df2800dbdff09559115e0chuckROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
68bcde9c52e9e749482df2800dbdff09559115e0chuckWARLOCK_OUT = $(USBVC_OBJS:%.o=%.ll)
68bcde9c52e9e749482df2800dbdff09559115e0chuckWARLOCK_OK = $(MODULE).ok
68bcde9c52e9e749482df2800dbdff09559115e0chuckWLCMD_DIR = $(UTSBASE)/common/io/warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# Include common rules.
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckinclude $(UTSBASE)/sparc/Makefile.sparc
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# lint pass one enforcement
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckCFLAGS += $(CCVERBOSE)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# depends on misc/usba
68bcde9c52e9e749482df2800dbdff09559115e0chuckLDFLAGS += -dy -Nmisc/usba
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# Define targets
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckALL_TARGET = $(BINARY)
68bcde9c52e9e749482df2800dbdff09559115e0chuckLINT_TARGET = $(MODULE).lint
68bcde9c52e9e749482df2800dbdff09559115e0chuckINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckCERRWARN += -_gcc=-Wno-uninitialized
68bcde9c52e9e749482df2800dbdff09559115e0chuck
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck#
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# Disable this because it is necessary for this driver
68bcde9c52e9e749482df2800dbdff09559115e0chuck# and it is surely safe
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck.KEEP_STATE:
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckall: $(ALL_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckdef: $(DEF_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckclean: $(CLEAN_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckclobber: $(CLOBBER_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chucklint: $(LINT_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckmodlintlib: $(MODLINTLIB_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckclean.lint: $(CLEAN_LINT_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckinstall: $(INSTALL_DEPS)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# Include common targets.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck#
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckinclude $(UTSBASE)/sparc/Makefile.targ
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# Defines for local commands.
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckWARLOCK = warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuckWLCC = wlcc
68bcde9c52e9e749482df2800dbdff09559115e0chuckTOUCH = touch
68bcde9c52e9e749482df2800dbdff09559115e0chuckTEST = test
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuck# lock_lint rules
68bcde9c52e9e749482df2800dbdff09559115e0chuck#
68bcde9c52e9e749482df2800dbdff09559115e0chuckUSBA_FILES = $(USBA_OBJS:%.o=../usba/%.ll)
68bcde9c52e9e749482df2800dbdff09559115e0chuckUHCI_FILES = $(UHCI_OBJS:%.o=../uhci/%.ll)
68bcde9c52e9e749482df2800dbdff09559115e0chuckOHCI_FILES = $(OHCI_OBJS:%.o=../ohci/%.ll)
68bcde9c52e9e749482df2800dbdff09559115e0chuckEHCI_FILES = $(EHCI_OBJS:%.o=../ehci/%.ll)
68bcde9c52e9e749482df2800dbdff09559115e0chuck
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckwarlock: $(WARLOCK_OK) warlock_with_usba
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/usbvc.wlcmd warlock_ddi.files
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(WARLOCK) -c $(WLCMD_DIR)/usbvc.wlcmd $(WARLOCK_OUT) \
68bcde9c52e9e749482df2800dbdff09559115e0chuck -l ../warlock/ddi_dki_impl.ll
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(TOUCH) $@
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuck%.ll: $(UTSBASE)/common/io/usb/clients/video/usbvc/%.c \
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(UTSBASE)/common/sys/usb/clients/video/usbvc/usbvc_var.h
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckwarlock_with_usba: $(WLCMD_DIR)/usbvc_with_usba.wlcmd $(WARLOCK_OUT) \
68bcde9c52e9e749482df2800dbdff09559115e0chuck usba_files ohci_files ehci_files uhci_files warlock_ddi.files
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(WARLOCK) -c $(WLCMD_DIR)/usbvc_with_usba.wlcmd \
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(USBA_FILES) $(OHCI_FILES) $(EHCI_FILES) $(UHCI_FILES) \
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(WARLOCK_OUT) \
68bcde9c52e9e749482df2800dbdff09559115e0chuck -l ../warlock/ddi_dki_impl.ll
68bcde9c52e9e749482df2800dbdff09559115e0chuck
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckusba_files:
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck @cd ../usba;pwd; $(MAKE) warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckuhci_files:
68bcde9c52e9e749482df2800dbdff09559115e0chuck @cd ../uhci;pwd; $(MAKE) warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckohci_files:
68bcde9c52e9e749482df2800dbdff09559115e0chuck @cd ../ohci;pwd; $(MAKE) warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckehci_files:
68bcde9c52e9e749482df2800dbdff09559115e0chuck @cd ../ehci;pwd; $(MAKE) warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuck
68bcde9c52e9e749482df2800dbdff09559115e0chuckwarlock_ddi.files:
68bcde9c52e9e749482df2800dbdff09559115e0chuck cd ../warlock; pwd; $(MAKE) warlock
68bcde9c52e9e749482df2800dbdff09559115e0chuck