#
# common definitions used by all Makefiles
#
# $Id: commondefs,v 2.79 1999/04/27 00:32:52 kenmcd Exp $

#if !defined(RELEASE_MAJOR)
include $(ROOT)/usr/include/make/releasedefs
#endif
OS_REL	= $(RELEASE_MAJOR).$(RELEASE_MINOR)
IRIX	= IRIX$(OS_REL:S/./_/g)

#
# Parts of PCP were split into the IRIX ism in IRIX 6.5
#
#if $(IRIX) == "IRIX6_2"
BEFORE_IRIX6_4 = 1
BEFORE_IRIX6_5 = 1
#else
BEFORE_IRIX6_4 = 0
BEFORE_IRIX6_5 = 0
#endif

#
# ISM_NAME is either "pcp" or "irix".
#
ISM_NAME	!= cat $(PCP_SRC_DEPTH)/include/ism_name

# pcp_eoe_noship images are for QA in IRIX 6.5 where PCP betas may be
# ahead of IRIX MR, and pcp_eoe_noship is made in the PCP build to include
# features not yet available in IRIX 6.5
#
#if $(IRIX) == "IRIX6_5" && $(ISM_NAME) == "pcp"
PCP_EOE_NOSHIP	= 1
#else
PCP_EOE_NOSHIP	= 0
#endif

# go faster
#
DBG	=

# profiling
#
#DBG   = -p

# full debugging
#
#if $(ISM_NAME) == "irix"
DBG	= -DPCP_DEBUG
#else
#DBG	= -DPCP_DEBUG -DMALLOC_AUDIT -g
#DBG	= -DPCP_DEBUG -g
DBG	= -DPCP_DEBUG
#endif

DEBUG	= $(DBG) -D$(IRIX)=1

# for making PMDA DSOs
#
DSOOPTS = -shared -check_registry ${ROOT}/usr/lib/so_locations

# when DEBUG includes -g, turn off optimization and disable stripping
# of binaries
#if !empty(DEBUG:M*-g*)
OPTIMIZER	= -O0
STRIPBIN	= nostrip
STRIPDSO	=
#else
STRIPBIN	=
STRIPDSO	= stripdso
#endif

# default object formats to build
#if $(BEFORE_IRIX6_5)
DEF_OBJECT_STYLE	= 32
#else
DEF_OBJECT_STYLE	= N32
#endif

#ifndef OBJECT_STYLE
OBJECT_STYLE	= $(DEF_OBJECT_STYLE)
#endif

#ifndef STYLES_TO_BUILD
STYLES_TO_BUILD	= $(OBJECT_STYLE)
#endif

#
# conditional install macros
#ifndef I_32
I_32=\#
I_N32=\#
I_64=\#

#if !empty(STYLES_TO_BUILD:M32*)
I_32=
#endif
#if !empty(STYLES_TO_BUILD:MN32*)
I_N32=
#endif
#if !empty(STYLES_TO_BUILD:M64*)
I_64=
#endif

#endif

# Used to set conditional install based on machine's object style
MODE32=mach(MODE=32bit)
MODE64=mach(MODE=64bit)

# where the demos go
DEMODIR	= /var/pcp/demos

# where the pmlogger sample configurations and control files go
PMLOGGERCONFIG	= /var/pcp/config/pmlogger

# PCP Versions
PCP_BASE	= 2.1

# Beta versions
#if $(ISM_NAME) == "irix"
PCP_VERSION	= $(PCP_BASE)
#else
# for PCP ISM, choose either
# beta versions, or
PCP_VERSION	= $(PCP_BASE) beta-4
# MR verisons
#PCP_VERSION	= $(PCP_BASE)
#endif

# for PCP 1.x
#LIBPCP_VERSION	= 1
# for PCP 2.x
LIBPCP_VERSION	= 2

# for PCP1.x
#LIBPCP_PMDA_VERSION = 1
# for PCP2.x
LIBPCP_PMDA_VERSION = 2

#
# PCP include and lib paths
# (in 6.5 and beyond these are relative to $ROOT) 

# Default depth, overridden in individual Makefiles only if necessary.
PCP_SRC_DEPTH ?= ..

#if $(BEFORE_IRIX6_5)
PCP_INC_PATH = -I$(PCP_SRC_DEPTH)/include

PCP_OMCINV_INC_PATH = -I$(PCP_SRC_DEPTH)/libpcp_omc/src \
		      -I$(PCP_SRC_DEPTH)/libpcp_inv/src

PCP_PMC_INC_PATH = -I$(PCP_SRC_DEPTH)/libpcp_pmc/src

PCP_LIBS_PATH = -L$(PCP_SRC_DEPTH)/libpcp/$(OBJECT_STYLE) \
		-L$(PCP_SRC_DEPTH)/libpcp_pmda/$(OBJECT_STYLE) \
		-L$(PCP_SRC_DEPTH)/libpcp_dev/$(OBJECT_STYLE)

PCP_OMCINV_LIBS = $(PCP_SRC_DEPTH)/libpcp_inv/libpcp_inv.a \
		  $(PCP_SRC_DEPTH)/libpcp_omc/libpcp_omc.a

PCP_PMC_LIBS = $(PCP_SRC_DEPTH)/libpcp_pmc/libpcp_pmc.a

#else
PCP_INC_PATH = -I$(ROOT)/usr/include/pcp

PCP_OMCINV_INC_PATH = -I$(ROOT)/usr/include/pcp/inv \
		      -I$(ROOT)/usr/include/pcp/omc

PCP_PMC_INC_PATH = -I$(PCP_SRC_DEPTH)/libpcp_pmc/src

PCP_LIBS_PATH =

PCP_OMCINV_LIBS = -lpcp_inv -lpcp_omc

PCP_PMC_LIBS = $(PCP_SRC_DEPTH)/libpcp_pmc/libpcp_pmc.a

#endif

