Makefile revision e2c88f0c2610f16de7b639746b40dea5f3e2256e
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# CDDL HEADER START
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# The contents of this file are subject to the terms of the
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Common Development and Distribution License (the "License").
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# You may not use this file except in compliance with the License.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# or http://www.opensolaris.org/os/licensing.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# See the License for the specific language governing permissions
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# and limitations under the License.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# When distributing Covered Code, include this CDDL HEADER in each
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# If applicable, add the following below this CDDL HEADER, with the
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# fields enclosed by brackets "[]" replaced with your own identifying
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# information: Portions Copyright [yyyy] [name of copyright owner]
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# CDDL HEADER END
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# uts/intel/usb_ia/Makefile
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Use is subject to license terms.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Copyright 2014 Garrett D'Amore <garrett@damore.org>
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# This makefile drives the production of the usb_ia driver kernel module.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Path to the base of the uts directory tree (usually /usr/src/uts).
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacUTSBASE = ../..
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac#
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac# Define the module and object file sets.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacMODULE = usb_ia
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacOBJECTS = $(USB_IA_OBJS:%=$(OBJS_DIR)/%)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacLINTS = $(USB_IA_OBJS:%.o=$(LINTS_DIR)/%.ln)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacWARLOCK_OUT = $(USB_IA_OBJS:%.o=%.ll)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacWARLOCK_OK = $(MODULE).ok
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacWLCMD_DIR = $(UTSBASE)/common/io/warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Include common rules.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacinclude $(UTSBASE)/intel/Makefile.intel
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Define targets
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacALL_TARGET = $(BINARY)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacLINT_TARGET = $(MODULE).lint
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Override defaults to build a unique, local modstubs.o.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacMODSTUBS_DIR = $(OBJS_DIR)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacCLEANFILES += $(MODSTUBS_O)
8657715aa815d5d3e1d3da0b33209c85a58d5407JnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# depends on misc/usba
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacLDFLAGS += -dy -Nmisc/usba
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Default build targets.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac.KEEP_STATE:
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacdef: $(DEF_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacall: $(ALL_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacclean: $(CLEAN_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacclobber: $(CLOBBER_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignaclint: $(LINT_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacmodlintlib: $(MODLINTLIB_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacclean.lint: $(CLEAN_LINT_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacinstall: $(INSTALL_DEPS)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Include common targets.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacinclude $(UTSBASE)/intel/Makefile.targ
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# Defines for local commands.
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacWARLOCK = warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacWLCC = wlcc
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacTOUCH = touch
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacTEST = test
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac# lock_lint rules
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac#
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacUSBA_FILES = $(USBA_OBJS:%.o=../usba/%.ll)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacUHCI_FILES = $(UHCI_OBJS:%.o=../uhci/%.ll)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacOHCI_FILES = $(OHCI_OBJS:%.o=../ohci/%.ll)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacEHCI_FILES = $(EHCI_OBJS:%.o=../ehci/%.ll)
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacwarlock: $(WARLOCK_OK) warlock_with_usba
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/usb_ia.wlcmd warlock_ddi.files
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(WARLOCK) -c $(WLCMD_DIR)/usb_ia.wlcmd $(WARLOCK_OUT) \
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac -l ../warlock/ddi_dki_impl.ll
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(TOUCH) $@
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac%.ll: $(UTSBASE)/common/io/usb/usb_ia/%.c \
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(UTSBASE)/common/sys/usb/usb_ia/usb_iavar.h
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacwarlock_with_usba: $(WLCMD_DIR)/usb_ia_with_usba.wlcmd $(WARLOCK_OUT) \
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac usba_files ohci_files ehci_files uhci_files warlock_ddi.files
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(WARLOCK) -c $(WLCMD_DIR)/usb_ia_with_usba.wlcmd \
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(USBA_FILES) $(OHCI_FILES) $(EHCI_FILES) $(UHCI_FILES) \
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac $(WARLOCK_OUT) \
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac -l ../warlock/ddi_dki_impl.ll
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacusba_files:
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac @cd ../usba;pwd; $(MAKE) warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacuhci_files:
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac @cd ../uhci;pwd; $(MAKE) warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacohci_files:
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac @cd ../ohci;pwd; $(MAKE) warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacehci_files:
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac @cd ../ehci;pwd; $(MAKE) warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignacwarlock_ddi.files:
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac cd ../warlock; pwd; $(MAKE) warlock
525cab038fde4596e7502ba869b4cf80ab3a8f3dJnRouvignac