xref: /titanic_50/usr/src/uts/sparc/usbecm/Makefile (revision 0035018c6da861f1b758fb9bf6b50245c52b48e2)
1*0035018cSRaymond Chen#
2*0035018cSRaymond Chen# CDDL HEADER START
3*0035018cSRaymond Chen#
4*0035018cSRaymond Chen# The contents of this file are subject to the terms of the
5*0035018cSRaymond Chen# Common Development and Distribution License (the "License").
6*0035018cSRaymond Chen# You may not use this file except in compliance with the License.
7*0035018cSRaymond Chen#
8*0035018cSRaymond Chen# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*0035018cSRaymond Chen# or http://www.opensolaris.org/os/licensing.
10*0035018cSRaymond Chen# See the License for the specific language governing permissions
11*0035018cSRaymond Chen# and limitations under the License.
12*0035018cSRaymond Chen#
13*0035018cSRaymond Chen# When distributing Covered Code, include this CDDL HEADER in each
14*0035018cSRaymond Chen# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*0035018cSRaymond Chen# If applicable, add the following below this CDDL HEADER, with the
16*0035018cSRaymond Chen# fields enclosed by brackets "[]" replaced with your own identifying
17*0035018cSRaymond Chen# information: Portions Copyright [yyyy] [name of copyright owner]
18*0035018cSRaymond Chen#
19*0035018cSRaymond Chen# CDDL HEADER END
20*0035018cSRaymond Chen#
21*0035018cSRaymond Chen#
22*0035018cSRaymond Chen# uts/sparc/usbecm/Makefile
23*0035018cSRaymond Chen# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
24*0035018cSRaymond Chen# Use is subject to license terms.
25*0035018cSRaymond Chen#
26*0035018cSRaymond Chen#
27*0035018cSRaymond Chen#	This makefile drives the production of Abstract Control Model of
28*0035018cSRaymond Chen#	USB Communication Devices Class dirver.
29*0035018cSRaymond Chen#
30*0035018cSRaymond Chen#	Path to the base of the uts directory tree (usually /usr/src/uts).
31*0035018cSRaymond Chen#
32*0035018cSRaymond ChenUTSBASE	= ../..
33*0035018cSRaymond Chen
34*0035018cSRaymond Chen#
35*0035018cSRaymond Chen#	Define the module and object file sets.
36*0035018cSRaymond Chen#
37*0035018cSRaymond ChenMODULE		= usbecm
38*0035018cSRaymond ChenOBJECTS		= $(USBECM_OBJS:%=$(OBJS_DIR)/%)
39*0035018cSRaymond ChenLINTS		= $(USBECM_OBJS:%.o=$(LINTS_DIR)/%.ln)
40*0035018cSRaymond ChenROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
41*0035018cSRaymond ChenWARLOCK_OUT	= $(USBECM_OBJS:%.o=%.ll)
42*0035018cSRaymond ChenWARLOCK_OK	= $(MODULE).ok
43*0035018cSRaymond ChenWLCMD_DIR	= $(UTSBASE)/common/io/warlock
44*0035018cSRaymond Chen
45*0035018cSRaymond Chen#
46*0035018cSRaymond Chen#	Include common rules.
47*0035018cSRaymond Chen#
48*0035018cSRaymond Cheninclude $(UTSBASE)/sparc/Makefile.sparc
49*0035018cSRaymond Chen
50*0035018cSRaymond ChenLDFLAGS         += -dy -Nmisc/usba -Nmisc/mac
51*0035018cSRaymond Chen
52*0035018cSRaymond Chen#
53*0035018cSRaymond Chen# lint pass one enforcement
54*0035018cSRaymond Chen#
55*0035018cSRaymond ChenCFLAGS += $(CCVERBOSE)
56*0035018cSRaymond Chen
57*0035018cSRaymond Chen#
58*0035018cSRaymond Chen#	Define targets
59*0035018cSRaymond Chen#
60*0035018cSRaymond ChenALL_TARGET	= $(BINARY)
61*0035018cSRaymond ChenLINT_TARGET	= $(MODULE).lint
62*0035018cSRaymond ChenINSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
63*0035018cSRaymond Chen
64*0035018cSRaymond Chen.KEEP_STATE:
65*0035018cSRaymond Chen
66*0035018cSRaymond Chenall:		$(ALL_DEPS)
67*0035018cSRaymond Chen
68*0035018cSRaymond Chendef:		$(DEF_DEPS)
69*0035018cSRaymond Chen
70*0035018cSRaymond Chenclean:		$(CLEAN_DEPS)
71*0035018cSRaymond Chen		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
72*0035018cSRaymond Chen
73*0035018cSRaymond Chenclobber:	$(CLOBBER_DEPS)
74*0035018cSRaymond Chen		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
75*0035018cSRaymond Chen
76*0035018cSRaymond Chenlint:		$(LINT_DEPS)
77*0035018cSRaymond Chen
78*0035018cSRaymond Chenmodlintlib:	$(MODLINTLIB_DEPS)
79*0035018cSRaymond Chen
80*0035018cSRaymond Chenclean.lint:	$(CLEAN_LINT_DEPS)
81*0035018cSRaymond Chen
82*0035018cSRaymond Cheninstall:	$(INSTALL_DEPS)
83*0035018cSRaymond Chen
84*0035018cSRaymond Chen#
85*0035018cSRaymond Chen#	Include common targets.
86*0035018cSRaymond Chen#
87*0035018cSRaymond Cheninclude $(UTSBASE)/sparc/Makefile.targ
88*0035018cSRaymond Chen
89*0035018cSRaymond Chen#
90*0035018cSRaymond Chen#	Defines for local commands.
91*0035018cSRaymond Chen#
92*0035018cSRaymond ChenWLCC		= wlcc
93*0035018cSRaymond ChenTOUCH		= touch
94*0035018cSRaymond ChenWARLOCK		= warlock
95*0035018cSRaymond ChenTEST		= test
96*0035018cSRaymond Chen
97*0035018cSRaymond Chen#
98*0035018cSRaymond Chen#	warlock
99*0035018cSRaymond Chen#
100*0035018cSRaymond ChenWARLOCK_CMD	= $(WLCMD_DIR)/$(MODULE).wlcmd
101*0035018cSRaymond Chen
102*0035018cSRaymond ChenUSBA_FILES = $(USBA_WITHOUT_WUSB_OBJS:%.o=../usba/%.ll)
103*0035018cSRaymond ChenUHCI_FILES = $(UHCI_OBJS:%.o=../uhci/%.ll)
104*0035018cSRaymond ChenOHCI_FILES = $(OHCI_OBJS:%.o=../ohci/%.ll)
105*0035018cSRaymond ChenEHCI_FILES = $(EHCI_OBJS:%.o=../ehci/%.ll)
106*0035018cSRaymond Chen
107*0035018cSRaymond Chenwarlock: $(WARLOCK_OK) warlock_with_usba
108*0035018cSRaymond Chen
109*0035018cSRaymond Chen%.ll: $(UTSBASE)/common/io/usb/clients/usbecm/%.c
110*0035018cSRaymond Chen	$(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
111*0035018cSRaymond Chen
112*0035018cSRaymond Chen$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/usbecm.wlcmd warlock_ddi.files
113*0035018cSRaymond Chen	$(WARLOCK) -c $(WLCMD_DIR)/usbecm.wlcmd $(WARLOCK_OUT)  \
114*0035018cSRaymond Chen		-l ../warlock/ddi_dki_impl.ll
115*0035018cSRaymond Chen	$(TOUCH) $@
116*0035018cSRaymond Chen
117*0035018cSRaymond Chenwarlock_with_usba: $(WLCMD_DIR)/usbecm_with_usba.wlcmd $(WARLOCK_OUT) \
118*0035018cSRaymond Chen	usba_files ohci_files uhci_files ehci_files \
119*0035018cSRaymond Chen	warlock_ddi.files
120*0035018cSRaymond Chen	$(WARLOCK) -c $(WLCMD_DIR)/usbecm_with_usba.wlcmd \
121*0035018cSRaymond Chen		$(USBA_FILES) $(OHCI_FILES) $(EHCI_FILES) $(UHCI_FILES) \
122*0035018cSRaymond Chen		$(WARLOCK_OUT) -l ../warlock/ddi_dki_impl.ll
123*0035018cSRaymond Chen
124*0035018cSRaymond Chenusba_files:
125*0035018cSRaymond Chen	@cd ../usba;pwd; $(MAKE) warlock
126*0035018cSRaymond Chen
127*0035018cSRaymond Chenuhci_files:
128*0035018cSRaymond Chen	@cd ../uhci;pwd; $(MAKE) warlock
129*0035018cSRaymond Chen
130*0035018cSRaymond Chenohci_files:
131*0035018cSRaymond Chen	@cd ../ohci;pwd; $(MAKE) warlock
132*0035018cSRaymond Chen
133*0035018cSRaymond Chenehci_files:
134*0035018cSRaymond Chen	@cd ../ehci;pwd; $(MAKE) warlock
135*0035018cSRaymond Chen
136*0035018cSRaymond Chenwarlock_ddi.files:
137*0035018cSRaymond Chen	cd ../warlock; pwd; $(MAKE) warlock
138