Makefile revision 489b7c4ab76ae8df137fbfcc2214f7baa52883a0
5cd4555ad444fd391002ae32450572054369fd42Rob Austein#
0af902c0df86a1ddfa54f68b4cf0fab7b469d4e7Mark Andrews# CDDL HEADER START
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# The contents of this file are subject to the terms of the
1124950b35ae05a12e804e670607fe5ba775cb4aTinderbox User# Common Development and Distribution License (the "License").
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# You may not use this file except in compliance with the License.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson#
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# or http://www.opensolaris.org/os/licensing.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# See the License for the specific language governing permissions
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# and limitations under the License.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# CDDL HEADER END
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews#
b5ad6dfea4cc3e7d1d322ac99f1e5a31096837c4Mark Andrews#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# uts/intel/usb_ia/Makefile
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
1753d3c4d74241a847794f7e7cfd94cc79be6600Evan Hunt# Use is subject to license terms.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# This makefile drives the production of the usb_ia driver kernel module.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Path to the base of the uts directory tree (usually /usr/src/uts).
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinUTSBASE = ../..
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Define the module and object file sets.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE = usb_ia
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinOBJECTS = $(USB_IA_OBJS:%=$(OBJS_DIR)/%)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTS = $(USB_IA_OBJS:%.o=$(LINTS_DIR)/%.ln)
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark AndrewsROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
26e2a07a0b6a3b1eccef82ba31270d0c54ad4f06Mark AndrewsWARLOCK_OUT = $(USB_IA_OBJS:%.o=%.ll)
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark AndrewsWARLOCK_OK = $(MODULE).ok
7b8b5e34b6daf793373580dfb095f56af5e918ceAutomatic UpdaterWLCMD_DIR = $(UTSBASE)/common/io/warlock
d60212e03fbef1d3dd7f7eb05c0545cc373cb9fcAutomatic Updater
4d42b714be10e6f163d23507e4e3a396a8ac0364Automatic Updater#
0e27506ce3135f9bd49e12564ad0e15256135118Automatic Updater# Include common rules.
5c6b95ba1b2e35f8dd6b0a7f25aacba91fff3aa2Tinderbox User#
1124950b35ae05a12e804e670607fe5ba775cb4aTinderbox Userinclude $(UTSBASE)/intel/Makefile.intel
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Define targets
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinALL_TARGET = $(BINARY)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINT_TARGET = $(MODULE).lint
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Override defaults to build a unique, local modstubs.o.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODSTUBS_DIR = $(OBJS_DIR)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCLEANFILES += $(MODSTUBS_O)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# depends on misc/usba
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLDFLAGS += -dy -Nmisc/usba
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
0db6bf459f7afa1f9dc0690a521df19955c89dbfJeremy Reed#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Default build targets.
a268fec7f54a89a0772a91da0511c8eae09e6157Mark Andrews#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.KEEP_STATE:
67d01dcacb2051a03377c8ec5c0e36604c17aea5Evan Hunt
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeindef: $(DEF_DEPS)
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinall: $(ALL_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinclean: $(CLEAN_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinclobber: $(CLOBBER_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlint: $(LINT_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinmodlintlib: $(MODLINTLIB_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinclean.lint: $(CLEAN_LINT_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall: $(INSTALL_DEPS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Include common targets.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude $(UTSBASE)/intel/Makefile.targ
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Defines for local commands.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinWARLOCK = warlock
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinWLCC = wlcc
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinTOUCH = touch
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinTEST = test
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# lock_lint rules
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinUSBA_FILES = $(USBA_WITHOUT_WUSB_OBJS:%.o=../usba/%.ll)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinUHCI_FILES = $(UHCI_OBJS:%.o=../uhci/%.ll)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinOHCI_FILES = $(OHCI_OBJS:%.o=../ohci/%.ll)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinEHCI_FILES = $(EHCI_OBJS:%.o=../ehci/%.ll)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinwarlock: $(WARLOCK_OK) warlock_with_usba
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/usb_ia.wlcmd warlock_ddi.files
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(WARLOCK) -c $(WLCMD_DIR)/usb_ia.wlcmd $(WARLOCK_OUT) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -l ../warlock/ddi_dki_impl.ll
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(TOUCH) $@
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein%.ll: $(UTSBASE)/common/io/usb/usb_ia/%.c \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(UTSBASE)/common/sys/usb/usb_ia/usb_iavar.h
3b9d9ad58b2d85a10960819f5c7a4606b33e9ab2Evan Hunt $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
8012d70ea4906ba739036cc9903cb0ac0fc72e9fJeremy C. Reed
3b9d9ad58b2d85a10960819f5c7a4606b33e9ab2Evan Huntwarlock_with_usba: $(WLCMD_DIR)/usb_ia_with_usba.wlcmd $(WARLOCK_OUT) \
3b9d9ad58b2d85a10960819f5c7a4606b33e9ab2Evan Hunt usba_files ohci_files ehci_files uhci_files warlock_ddi.files
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(WARLOCK) -c $(WLCMD_DIR)/usb_ia_with_usba.wlcmd \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(USBA_FILES) $(OHCI_FILES) $(EHCI_FILES) $(UHCI_FILES) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(WARLOCK_OUT) \
d4f032db535ad5194d442fec535123f269422055Jeremy Reed -l ../warlock/ddi_dki_impl.ll
d4f032db535ad5194d442fec535123f269422055Jeremy Reed
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinusba_files:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @cd ../usba;pwd; $(MAKE) warlock
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinuhci_files:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @cd ../uhci;pwd; $(MAKE) warlock
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinohci_files:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @cd ../ohci;pwd; $(MAKE) warlock
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
065c66d9bf1c349600027bb50e3759a3736f73abMark Andrewsehci_files:
065c66d9bf1c349600027bb50e3759a3736f73abMark Andrews @cd ../ehci;pwd; $(MAKE) warlock
79a1c7502d0d1c5e654d9892c948d0123c3b3e2fEvan Hunt
d4f032db535ad5194d442fec535123f269422055Jeremy Reedwarlock_ddi.files:
d4f032db535ad5194d442fec535123f269422055Jeremy Reed cd ../warlock; pwd; $(MAKE) warlock
065c66d9bf1c349600027bb50e3759a3736f73abMark Andrews