OpenSolaris_b135/uts/sun4u/starcat/Makefile.rules

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# ident	"%Z%%M%	%I%	%E% SMI"
#
#	This Makefile defines the build rules for the directory
#	uts/sun4u/starcat and its children.
#

#
# inline support for DR.
#

IL_CPP=$(CPP) -P -DINLINE -D_ASM $(AS_INC_PATH) \
	$(CPP_DEFS) $(ALWAYS_DEFS) $(ALL_DEFS) $(CONFIG_DEFS)

#
#	Section 1a: C object build rules
#

DRMACH_IL=$(OBJS_DIR)/drmach.il

$(OBJS_DIR)/drmach.o	:= CC_XARCH_32 = -xarch=v8plusa
$(OBJS_DIR)/%.o:		$(UTSBASE)/sun4u/starcat/io/%.c $(DRMACH_IL)
	$(COMPILE.c) $(DRMACH_IL) -o $@ $<
	$(CTFCONVERT_O)

$(OBJS_DIR)/%.o:		$(UTSBASE)/sun4u/starcat/os/%.c
	$(COMPILE.c) -o $@ $<
	$(CTFCONVERT_O)

$(OBJS_DIR)/%.o:		$(UTSBASE)/sun4u/starcat/ml/%.s
	$(COMPILE.s) -o $@ $<

STARCAT_IO=$(UTSBASE)/sun4u/starcat/io

CLEANFILES += $(STARCAT_IO)/drmach_err.c

$(STARCAT_IO)/drmach_err.c: $(SBDGENERR) $(SBD_IOCTL)
	$(RM) $@
	$(SBDGENERRCMD) ESTC <$(SBD_IOCTL) >$@

# inline stuff

CLEANFILES += $(DRMACH_IL)

$(DRMACH_IL):		$(UTSBASE)/sun4u/starcat/ml/drmach.il.cpp
	$(IL_CPP) $(UTSBASE)/sun4u/starcat/ml/drmach.il.cpp > $@

#
#	Section 1b: Lint object build rules
#

$(LINTS_DIR)/%.ln:		$(UTSBASE)/sun4u/starcat/os/%.c
	@($(LHEAD) $(LINT.c) $< $(LTAIL))

$(LINTS_DIR)/drmach.ln		:= LINTFLAGS += -I../sys
$(LINTS_DIR)/sc_gptwoctfg.ln	:= LINTFLAGS += -I../sys

$(LINTS_DIR)/%.ln:		$(UTSBASE)/sun4u/starcat/io/%.c
	@($(LHEAD) $(LINT.c) $< $(LTAIL))

$(LINTS_DIR)/%.ln:		$(UTSBASE)/sun4u/starcat/ml/%.s
	@($(LHEAD) $(LINT.s) $< $(LTAIL))