Makefile revision 65d61b8c5bb0da98e137e8d74245d8f53d690237
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# CDDL HEADER START
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# The contents of this file are subject to the terms of the
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Common Development and Distribution License (the "License").
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# You may not use this file except in compliance with the License.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# or http://www.opensolaris.org/os/licensing.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# See the License for the specific language governing permissions
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# and limitations under the License.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# When distributing Covered Code, include this CDDL HEADER in each
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# If applicable, add the following below this CDDL HEADER, with the
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# fields enclosed by brackets "[]" replaced with your own identifying
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# CDDL HEADER END
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# uts/intel/mixer/Makefile
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Use is subject to license terms.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# This makefile drives the production of the audio mixer (mixer)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Audio Personality Module.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#ident "%Z%%M% %I% %E% SMI"
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Path to the base of the uts directory tree (usually /usr/src/uts).
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncUTSBASE = ../..
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Define the module and object file sets.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncMODULE = mixer
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncOBJECTS = $(MIXER_OBJS:%=$(OBJS_DIR)/%)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLINTS = $(MIXER_OBJS:%.o=$(LINTS_DIR)/%.ln)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncWARLOCK_OUT = $(MIXER_OBJS:%.o=%.ll)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncWARLOCK_OK = $(MODULE).ok
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncWLCMD_DIR = $(UTSBASE)/common/io/warlock
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Include common rules.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncinclude $(UTSBASE)/intel/Makefile.intel
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Define targets
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncALL_TARGET = $(BINARY)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLINT_TARGET = $(MODULE).lint
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Depends on misc/audiosup
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLDFLAGS += -dy -Nmisc/audiosup
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# For now, disable these lint checks; maintainers should endeavor
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# to investigate and remove these for maximum lint coverage.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Please do not carry these forward to new Makefiles.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Default build targets.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync.KEEP_STATE:
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncdef: $(DEF_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncall: $(ALL_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncclean: $(CLEAN_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncclobber: $(CLOBBER_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsynclint: $(LINT_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncmodlintlib: $(MODLINTLIB_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncclean.lint: $(CLEAN_LINT_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncinstall: $(INSTALL_DEPS)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Include common targets.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncinclude $(UTSBASE)/intel/Makefile.targ
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Defines for local commands.
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncSCCS = sccs
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncTEST = test
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncWLCC = wlcc
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncTOUCH = touch
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncWARLOCK = warlock
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync# Warlock targets
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync#
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncAUDIO_SUP_FILES = $(AUDIO_SUP_OBJS:%.o=$(UTSBASE)/intel/audiosup/%.ll)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncAMSRC1_FILES = $(AMSRC1_OBJS:%.o=$(CLOSED)/uts/intel/amsrc1/%.ll)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncAMSRC2_FILES = $(AMSRC2_OBJS:%.o=$(UTSBASE)/intel/amsrc2/%.ll)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync%.wlcmd:
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync cd $(WLCMD_DIR); $(TEST) -f $@ || $(SCCS) get $@
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncWARLOCK_TARGETS = $(WARLOCK_OUT) warlock_ddi.files warlock_audiosup.files \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync warlock_standalone mixer_with_audiosup.wlcmd
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync$(CLOSED_BUILD)WARLOCK_CLOSED = warlock_closed
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock: warlock_open $(WARLOCK_CLOSED)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(TOUCH) $(WARLOCK_OK)
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_open: $(WARLOCK_TARGETS) warlock_amsrc2.files
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(WARLOCK) -c $(WLCMD_DIR)/mixer_with_audiosup.wlcmd $(WARLOCK_OUT) \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(AUDIO_SUP_FILES) $(AMSRC2_FILES) \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync -l ../warlock/ddi_dki_impl.ll
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_closed: $(WARLOCK_TARGETS) warlock_amsrc1.files
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(WARLOCK) -c $(WLCMD_DIR)/mixer_with_audiosup.wlcmd \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(WARLOCK_OUT) $(AUDIO_SUP_FILES) $(AMSRC1_FILES) \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync -l ../warlock/ddi_dki_impl.ll
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync%.ll: $(UTSBASE)/common/io/audio/sada/mixer/%.c
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_standalone: $(WARLOCK_OUT) warlock_ddi.files \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync mixer.wlcmd
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync $(WARLOCK) -c $(WLCMD_DIR)/mixer.wlcmd $(WARLOCK_OUT) \
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync -l ../warlock/ddi_dki_impl.ll
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_ddi.files:
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync @cd ../warlock; pwd; $(MAKE) warlock
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_audiosup.files:
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync @cd ../audiosup; pwd; $(MAKE) warlock
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_amsrc1.files:
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync @cd $(CLOSED)/uts/intel/amsrc1; pwd; $(MAKE) warlock
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsyncwarlock_amsrc2.files:
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync @cd ../amsrc2; pwd; $(MAKE) warlock
d1ae44110ca869b6cb4a708dc6d676e10f4167bavboxsync