xref: /titanic_41/usr/src/uts/intel/audioixp/Makefile (revision ae115bc77f6fcde83175c75b4206dc2e50747966)
1*ae115bc7Smrj#
2*ae115bc7Smrj# CDDL HEADER START
3*ae115bc7Smrj#
4*ae115bc7Smrj# The contents of this file are subject to the terms of the
5*ae115bc7Smrj# Common Development and Distribution License (the "License").
6*ae115bc7Smrj# You may not use this file except in compliance with the License.
7*ae115bc7Smrj#
8*ae115bc7Smrj# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*ae115bc7Smrj# or http://www.opensolaris.org/os/licensing.
10*ae115bc7Smrj# See the License for the specific language governing permissions
11*ae115bc7Smrj# and limitations under the License.
12*ae115bc7Smrj#
13*ae115bc7Smrj# When distributing Covered Code, include this CDDL HEADER in each
14*ae115bc7Smrj# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*ae115bc7Smrj# If applicable, add the following below this CDDL HEADER, with the
16*ae115bc7Smrj# fields enclosed by brackets "[]" replaced with your own identifying
17*ae115bc7Smrj# information: Portions Copyright [yyyy] [name of copyright owner]
18*ae115bc7Smrj#
19*ae115bc7Smrj# CDDL HEADER END
20*ae115bc7Smrj#
21*ae115bc7Smrj#
22*ae115bc7Smrj# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23*ae115bc7Smrj# Use is subject to license terms.
24*ae115bc7Smrj#
25*ae115bc7Smrj# uts/intel/audioixp/Makefile
26*ae115bc7Smrj#
27*ae115bc7Smrj#
28*ae115bc7Smrj#ident	"%Z%%M%	%I%	%E% SMI"
29*ae115bc7Smrj#
30*ae115bc7Smrj#	This makefile drives the production of high definition audio
31*ae115bc7Smrj#	driver (audioixp) kernel module.
32*ae115bc7Smrj#
33*ae115bc7Smrj#
34*ae115bc7Smrj#	Path to the base of the uts directory tree (usually /usr/src/uts).
35*ae115bc7Smrj#
36*ae115bc7SmrjUTSBASE = ../..
37*ae115bc7Smrj
38*ae115bc7Smrj#
39*ae115bc7Smrj#	Define the module and object file sets.
40*ae115bc7Smrj#
41*ae115bc7SmrjMODULE		= audioixp
42*ae115bc7SmrjOBJECTS		= $(AUDIOIXP_OBJS:%=$(OBJS_DIR)/%)
43*ae115bc7SmrjLINTS		= $(AUDIOIXP_OBJS:%.o=$(LINTS_DIR)/%.ln)
44*ae115bc7SmrjROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
45*ae115bc7SmrjCONF_SRCDIR	= $(UTSBASE)/common/io/audio/sada/drv/audioixp
46*ae115bc7SmrjWARLOCK_OUT 	= $(AUDIOIXP_OBJS:%.o=%.ll)
47*ae115bc7SmrjWARLOCK_OK	= $(MODULE).ok
48*ae115bc7SmrjWLCMD_DIR       = $(UTSBASE)/common/io/warlock
49*ae115bc7Smrj
50*ae115bc7Smrj#
51*ae115bc7Smrj#	Include common rules.
52*ae115bc7Smrj#
53*ae115bc7Smrjinclude $(UTSBASE)/intel/Makefile.intel
54*ae115bc7Smrj
55*ae115bc7Smrj#
56*ae115bc7Smrj#	Overrides, lint pass one enforcement
57*ae115bc7Smrj#
58*ae115bc7SmrjCFLAGS		+= $(CCVERBOSE)
59*ae115bc7SmrjDEBUG_FLGS	=
60*ae115bc7Smrj$(NOT_RELEASE_BUILD)DEBUG_DEFS	+= $(DEBUG_FLGS)
61*ae115bc7Smrj
62*ae115bc7Smrj#
63*ae115bc7Smrj#	Depends on misc/audiosup
64*ae115bc7Smrj#
65*ae115bc7SmrjLDFLAGS		+= -dy -Nmisc/amsrc2 -Nmisc/audiosup -Nmisc/mixer
66*ae115bc7Smrj
67*ae115bc7Smrj#
68*ae115bc7Smrj#	Define targets
69*ae115bc7Smrj#
70*ae115bc7SmrjALL_TARGET	= $(BINARY) $(SRC_CONFILE)
71*ae115bc7SmrjLINT_TARGET	= $(MODULE).lint
72*ae115bc7SmrjINSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
73*ae115bc7Smrj
74*ae115bc7Smrj#
75*ae115bc7Smrj# For now, disable these lint checks; maintainers should endeavor
76*ae115bc7Smrj# to investigate and remove these for maximum lint coverage.
77*ae115bc7Smrj# Please do not carry these forward to new Makefiles.
78*ae115bc7Smrj#
79*ae115bc7SmrjLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
80*ae115bc7Smrj
81*ae115bc7Smrj#
82*ae115bc7Smrj#	Default build targets.
83*ae115bc7Smrj#
84*ae115bc7Smrj.KEEP_STATE:
85*ae115bc7Smrj
86*ae115bc7Smrjdef:		$(DEF_DEPS)
87*ae115bc7Smrj
88*ae115bc7Smrjall:		$(ALL_DEPS)
89*ae115bc7Smrj
90*ae115bc7Smrjclean:		$(CLEAN_DEPS)
91*ae115bc7Smrj		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
92*ae115bc7Smrj
93*ae115bc7Smrjclobber:	$(CLOBBER_DEPS)
94*ae115bc7Smrj		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
95*ae115bc7Smrj
96*ae115bc7Smrjlint:		$(LINT_DEPS)
97*ae115bc7Smrj
98*ae115bc7Smrjmodlintlib:	$(MODLINTLIB_DEPS)
99*ae115bc7Smrj
100*ae115bc7Smrjclean.lint:	$(CLEAN_LINT_DEPS)
101*ae115bc7Smrj
102*ae115bc7Smrjinstall:	$(INSTALL_DEPS)
103*ae115bc7Smrj
104*ae115bc7Smrj#
105*ae115bc7Smrj#	Include common targets.
106*ae115bc7Smrj#
107*ae115bc7Smrjinclude $(UTSBASE)/intel/Makefile.targ
108*ae115bc7Smrj
109*ae115bc7Smrj#
110*ae115bc7Smrj#	Defines for local commands.
111*ae115bc7Smrj#
112*ae115bc7SmrjSCCS		= sccs
113*ae115bc7SmrjTEST		= test
114*ae115bc7SmrjWLCC		= wlcc
115*ae115bc7SmrjTOUCH		= touch
116*ae115bc7SmrjWARLOCK 	= warlock
117*ae115bc7Smrj
118*ae115bc7Smrj#
119*ae115bc7Smrj#	Warlock targets
120*ae115bc7Smrj#
121*ae115bc7Smrj# NOTE: there will be warnings about q_lock which is the simulated
122*ae115bc7Smrj# rwlock of the taskq framework
123*ae115bc7Smrj#
124*ae115bc7SmrjMIXER_FILES = $(MIXER_OBJS:%.o=$(UTSBASE)/intel/mixer/%.ll)
125*ae115bc7SmrjAUDIO_SUP_FILES = $(AUDIO_SUP_OBJS:%.o=$(UTSBASE)/intel/audiosup/%.ll)
126*ae115bc7SmrjAMSRC2_FILES = $(AMSRC2_OBJS:%.o=$(UTSBASE)/intel/amsrc2/%.ll)
127*ae115bc7Smrj
128*ae115bc7Smrj%.wlcmd:
129*ae115bc7Smrj	cd $(WLCMD_DIR); $(TEST) -f $@  || $(SCCS) get $@
130*ae115bc7Smrj
131*ae115bc7Smrjwarlock:	$(WARLOCK_OK)
132*ae115bc7Smrj
133*ae115bc7Smrj$(WARLOCK_OK):	$(WARLOCK_OUT) warlock_ddi.files warlock_standalone \
134*ae115bc7Smrj	warlock_audiosup.files warlock_mixer.files warlock_amsrc2.files \
135*ae115bc7Smrj	audioixp_with_sada.wlcmd
136*ae115bc7Smrj	$(WARLOCK) -c $(WLCMD_DIR)/audioixp_with_sada.wlcmd $(WARLOCK_OUT) \
137*ae115bc7Smrj	$(MIXER_FILES) $(AUDIO_SUP_FILES) $(AMSRC2_FILES) \
138*ae115bc7Smrj	-l ../../intel/warlock/ddi_dki_impl.ll
139*ae115bc7Smrj	$(TOUCH) $(WARLOCK_OK)
140*ae115bc7Smrj
141*ae115bc7Smrj%.ll: $(UTSBASE)/common/io/audio/sada/drv/audioixp/%.c
142*ae115bc7Smrj	$(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
143*ae115bc7Smrj
144*ae115bc7Smrjwarlock_standalone: $(WARLOCK_OUT) warlock_ddi.files audioixp.wlcmd
145*ae115bc7Smrj	$(WARLOCK) -c $(WLCMD_DIR)/audioixp.wlcmd $(WARLOCK_OUT) \
146*ae115bc7Smrj	-l ../../intel/warlock/ddi_dki_impl.ll
147*ae115bc7Smrj
148*ae115bc7Smrjwarlock_ddi.files:
149*ae115bc7Smrj	@cd ../../intel/warlock; pwd; $(MAKE) warlock
150*ae115bc7Smrj
151*ae115bc7Smrjwarlock_audiosup.files:
152*ae115bc7Smrj	@cd ../../intel/audiosup; pwd; $(MAKE) warlock
153*ae115bc7Smrj
154*ae115bc7Smrjwarlock_amsrc2.files:
155*ae115bc7Smrj	@cd ../../intel/amsrc2; pwd; $(MAKE) warlock
156*ae115bc7Smrj
157*ae115bc7Smrjwarlock_mixer.files:
158*ae115bc7Smrj	@cd ../../intel/mixer; pwd; $(MAKE) warlock
159