xref: /titanic_50/usr/src/uts/sparc/pcicfg/Makefile (revision 7014882c6a3672fd0e5d60200af8643ae53c5928)
126947304SEvan Yan#
226947304SEvan Yan# CDDL HEADER START
326947304SEvan Yan#
426947304SEvan Yan# The contents of this file are subject to the terms of the
526947304SEvan Yan# Common Development and Distribution License (the "License").
626947304SEvan Yan# You may not use this file except in compliance with the License.
726947304SEvan Yan#
826947304SEvan Yan# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
926947304SEvan Yan# or http://www.opensolaris.org/os/licensing.
1026947304SEvan Yan# See the License for the specific language governing permissions
1126947304SEvan Yan# and limitations under the License.
1226947304SEvan Yan#
1326947304SEvan Yan# When distributing Covered Code, include this CDDL HEADER in each
1426947304SEvan Yan# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1526947304SEvan Yan# If applicable, add the following below this CDDL HEADER, with the
1626947304SEvan Yan# fields enclosed by brackets "[]" replaced with your own identifying
1726947304SEvan Yan# information: Portions Copyright [yyyy] [name of copyright owner]
1826947304SEvan Yan#
1926947304SEvan Yan# CDDL HEADER END
2026947304SEvan Yan#
2126947304SEvan Yan#
2226947304SEvan Yan# uts/sparc/pcicfg/Makefile
2326947304SEvan Yan# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
2426947304SEvan Yan# Use is subject to license terms.
2526947304SEvan Yan#
2626947304SEvan Yan#	This makefile drives the production of the EFCode Enabled
2726947304SEvan Yan#	PCI Configurator.
2826947304SEvan Yan#
2926947304SEvan Yan#	sun4 implementation architecture dependent
3026947304SEvan Yan#
3126947304SEvan Yan
3226947304SEvan Yan#
3326947304SEvan Yan#	Path to the base of the uts directory tree (usually /usr/src/uts).
3426947304SEvan Yan#
3526947304SEvan YanUTSBASE	= ../..
3626947304SEvan Yan
3726947304SEvan Yan#
3826947304SEvan Yan#	Define the module and object file sets.
3926947304SEvan Yan#
4026947304SEvan YanMODULE		= pcicfg
4126947304SEvan YanOBJECTS		= $(PCICFG_OBJS:%=$(OBJS_DIR)/%)
4226947304SEvan YanLINTS		= $(PCICFG_OBJS:%.o=$(LINTS_DIR)/%.ln)
4326947304SEvan YanROOTMODULE	= $(ROOT_MISC_DIR)/$(MODULE)
4426947304SEvan Yan
4526947304SEvan Yan#
4626947304SEvan Yan#	Include common rules.
4726947304SEvan Yan#
4826947304SEvan Yaninclude $(UTSBASE)/sparc/Makefile.sparc
4926947304SEvan Yan
5026947304SEvan Yan#
5126947304SEvan Yan#	Define targets
5226947304SEvan Yan#
5326947304SEvan YanALL_TARGET	= $(BINARY)
5426947304SEvan YanLINT_TARGET	= $(MODULE).lint
5526947304SEvan YanINSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
5626947304SEvan Yan
5726947304SEvan Yan#
5826947304SEvan Yan#       Include sun4 specific headers files
5926947304SEvan Yan#
6026947304SEvan YanINC_PATH	+= -I$(UTSBASE)/sun4
6126947304SEvan Yan
6226947304SEvan Yan
6326947304SEvan Yan# Turn this on once compiler understands v9 in it's backend
6426947304SEvan Yan#INLINES		+= $(UTSBASE)/sun4u/io/pcicfg.il
6526947304SEvan Yan
6626947304SEvan Yan#
6726947304SEvan Yan# lint pass one enforcement
6826947304SEvan Yan#
6926947304SEvan YanCFLAGS += $(CCVERBOSE)
7026947304SEvan Yan
7126947304SEvan Yan#
7226947304SEvan Yan# Turn on doubleword alignment for 64 bit registers
7326947304SEvan Yan#
7426947304SEvan YanCFLAGS += -dalign -DPCICFG_INTERPRET_FCODE
7526947304SEvan Yan
7626947304SEvan Yan#
7726947304SEvan Yan#	Dependency
7826947304SEvan YanLDFLAGS += -dy -Nmisc/busra -Nmisc/fcpci -Nmisc/fcodem -Nmisc/pcie
7926947304SEvan Yan
8026947304SEvan Yan#
8126947304SEvan Yan# For now, disable these lint checks; maintainers should endeavor
8226947304SEvan Yan# to investigate and remove these for maximum lint coverage.
8326947304SEvan Yan# Please do not carry these forward to new Makefiles.
8426947304SEvan Yan#
8526947304SEvan YanLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
8626947304SEvan YanLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
8726947304SEvan YanLINTTAGS	+= -erroff=E_STATIC_UNUSED
8826947304SEvan Yan
89*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-function
90*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-value
91*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-variable
92*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-uninitialized
93*7014882cSRichard Lowe
9426947304SEvan Yan#
9526947304SEvan Yan#	Default build targets.
9626947304SEvan Yan#
9726947304SEvan Yan.KEEP_STATE:
9826947304SEvan Yan
9926947304SEvan Yandef:		$(DEF_DEPS)
10026947304SEvan Yan
10126947304SEvan Yanall:		$(ALL_DEPS)
10226947304SEvan Yan
10326947304SEvan Yanclean:		$(CLEAN_DEPS)
10426947304SEvan Yan
10526947304SEvan Yanclobber:	$(CLOBBER_DEPS)
10626947304SEvan Yan
10726947304SEvan Yanlint:		$(LINT_DEPS)
10826947304SEvan Yan
10926947304SEvan Yanmodlintlib:	$(MODLINTLIB_DEPS)
11026947304SEvan Yan
11126947304SEvan Yanclean.lint:	$(CLEAN_LINT_DEPS)
11226947304SEvan Yan
11326947304SEvan Yaninstall:	$(INSTALL_DEPS)
11426947304SEvan Yan
11526947304SEvan Yan#
11626947304SEvan Yan#	Include common targets.
11726947304SEvan Yan#
11826947304SEvan Yaninclude $(UTSBASE)/sparc/Makefile.targ
119