Makefile revision 3138:7bbdcbfa4cd5
126168Sfsmp#
226168Sfsmp# CDDL HEADER START
329677Sgibbs#
426168Sfsmp# The contents of this file are subject to the terms of the
526168Sfsmp# Common Development and Distribution License (the "License").
626168Sfsmp# You may not use this file except in compliance with the License.
726168Sfsmp#
826168Sfsmp# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
926168Sfsmp# or http://www.opensolaris.org/os/licensing.
1026168Sfsmp# See the License for the specific language governing permissions
1126168Sfsmp# and limitations under the License.
1226168Sfsmp#
1326168Sfsmp# When distributing Covered Code, include this CDDL HEADER in each
1426168Sfsmp# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1526168Sfsmp# If applicable, add the following below this CDDL HEADER, with the
1626168Sfsmp# fields enclosed by brackets "[]" replaced with your own identifying
1726168Sfsmp# information: Portions Copyright [yyyy] [name of copyright owner]
1826168Sfsmp#
1929219Speter# CDDL HEADER END
2026168Sfsmp#
2126168Sfsmp#
2226168Sfsmp# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2326168Sfsmp# Use is subject to license terms.
2426168Sfsmp#
2526168Sfsmp#ident	"%Z%%M%	%I%	%E% SMI"
2626168Sfsmp#
2726168Sfsmp
2826168Sfsmp#
2926168Sfsmp#	Path to the base of the uts directory tree.
3026168Sfsmp#
3126168SfsmpUTSBASE	= ../..
3226168Sfsmp
3326168Sfsmp#
3426168Sfsmp#	Define the module and object file sets.
3526168Sfsmp#
3626168SfsmpMODULE		= scsa1394
3726168SfsmpOBJECTS		= $(SCSA1394_OBJS:%=$(OBJS_DIR)/%)
3826168SfsmpLINTS		= $(SCSA1394_OBJS:%.o=$(LINTS_DIR)/%.ln)
3926168SfsmpROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
4026168SfsmpWARLOCK_OUT     = $(SCSA1394_OBJS:%.o=%.ll)
4126168SfsmpWARLOCK_OK      = $(MODULE).ok
4226168SfsmpWLCMD_DIR       = $(UTSBASE)/common/io/warlock
4326168Sfsmp
4426168Sfsmp#
4526168Sfsmp#	Include common rules.
4626168Sfsmp#
4726168Sfsmpinclude $(UTSBASE)/sparc/Makefile.sparc
4826168Sfsmp
4926168Sfsmp#
5026168Sfsmp#	Define targets
5126168Sfsmp#
5226168SfsmpALL_TARGET	= $(BINARY)
5326168SfsmpLINT_TARGET	= $(MODULE).lint
5426168SfsmpINSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
5526168Sfsmp
5626168Sfsmp#
5726168Sfsmp#       Overrides
5826168Sfsmp#
5926168SfsmpALL_BUILDS	= $(ALL_BUILDSONLY64)
6026168SfsmpDEF_BUILDS	= $(DEF_BUILDSONLY64)
6126168SfsmpCLEANLINTFILES	+= $(LINT32_FILES)
6226168Sfsmp
6326168Sfsmp#
6426168Sfsmp# lint pass one enforcement
6526168Sfsmp#
6626168SfsmpCFLAGS += $(CCVERBOSE)
6726168Sfsmp
6826168Sfsmp#
6926168Sfsmp# For now, disable these lint checks; maintainers should endeavor
7026168Sfsmp# to investigate and remove these for maximum lint coverage.
7126168Sfsmp# Please do not carry these forward to new Makefiles.
7226168Sfsmp#
7326168SfsmpLINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
7426168SfsmpLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
7526168SfsmpLINTTAGS	+= -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
7626168SfsmpLINTTAGS	+= -erroff=E_STATIC_UNUSED
7726168SfsmpLINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
7826168SfsmpLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
7926168Sfsmp
8026168Sfsmp#
8126168Sfsmp# depends on
8226168Sfsmp#
8326168SfsmpLDFLAGS		+= -dy -Nmisc/scsi -Nmisc/s1394 -Nmisc/sbp2
8426168Sfsmp
8526168Sfsmp#	Default build targets.
8626168Sfsmp#
8726168Sfsmp.KEEP_STATE:
8826168Sfsmp
8926168Sfsmpdef:		$(DEF_DEPS)
9026168Sfsmp
9126168Sfsmpall:		$(ALL_DEPS)
9226168Sfsmp
9326168Sfsmpclean:		$(CLEAN_DEPS)
9426168Sfsmp		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
9526168Sfsmp
9626168Sfsmpclobber:	$(CLOBBER_DEPS)
9726168Sfsmp		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
9826168Sfsmp
9926168Sfsmpmodlintlib:	$(MODLINTLIB_DEPS) lint32
10026168Sfsmp
10126168Sfsmplint:		$(LINT_DEPS)
10226168Sfsmp
10326168Sfsmpclean.lint:	$(CLEAN_LINT_DEPS)
10426168Sfsmp
10526168Sfsmpinstall:	$(INSTALL_DEPS)
10626168Sfsmp
10726168Sfsmp#
10826168Sfsmp#	Include common targets.
10926168Sfsmp#
11026168Sfsmpinclude $(UTSBASE)/sparc/Makefile.targ
11126168Sfsmp
11226168Sfsmp#
11326168Sfsmp#	Defines for local commands.
11426168Sfsmp#
11526168SfsmpWARLOCK		= warlock
11626168SfsmpWLCC		= wlcc
11726168SfsmpTOUCH		= touch
11826168SfsmpSCCS		= sccs
11926168SfsmpTEST		= test
12026168Sfsmp
12126168Sfsmp#
12226168Sfsmp#	Warlock targets
12326168Sfsmp#
12426168SfsmpSBP2_FILES = $(SBP2_OBJS:%.o= -l ../sbp2/%.ll)
12526168SfsmpSD_FILES   = $(SD_OBJS:%.o=../sd/%.ll)
12626168SfsmpSCSI_FILES = $(SCSI_OBJS:%.o= -l ../scsi/%.ll)
12726168Sfsmp
12826168Sfsmpwarlock: $(WARLOCK_OK)
12926168Sfsmp
13026168Sfsmp%.wlcmd:
13126168Sfsmp	cd $(WLCMD_DIR); $(TEST) -f $@  || $(SCCS) get $@
13226168Sfsmp
13326168Sfsmp$(WARLOCK_OK): $(WARLOCK_OUT) sbp2.files warlock_ddi.files scsa1394.wlcmd \
13426168Sfsmp	sd.files scsi.files
13526168Sfsmp	$(WARLOCK) -c $(WLCMD_DIR)/scsa1394.wlcmd $(WARLOCK_OUT) $(SD_FILES) \
13626168Sfsmp		$(SCSI_FILES) \
13726168Sfsmp		$(SBP2_FILES) \
13826168Sfsmp		-l ../warlock/ddi_dki_impl.ll
13926168Sfsmp	$(TOUCH) $@
14026168Sfsmp
14126168Sfsmp%.ll: $(UTSBASE)/common/io/1394/targets/scsa1394/%.c
14226168Sfsmp	$(WLCC) $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $<
14326168Sfsmp
14426168Sfsmpsbp2.files:
14526168Sfsmp	@cd ../sbp2; pwd; $(MAKE) warlock
14626168Sfsmp
14726168Sfsmpwarlock_ddi.files:
14826168Sfsmp	@cd ../warlock; pwd; $(MAKE) warlock
14926168Sfsmp
15026168Sfsmpsd.files:
15126168Sfsmp	@cd ../sd; pwd; $(MAKE) warlock_alone
15226168Sfsmp
15326168Sfsmpscsi.files:
15426168Sfsmp	@cd ../scsi; pwd; $(MAKE) warlock
15526168Sfsmp
15626168Sfsmp
15726168Sfsmp