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