####
#
# This file provides generic definitions for use in project Makefiles.  The
# purpose of this file is to be included at or near the top of a
# platform-specific project Makefile.  Seach for all occurrances of "CHANGE
# HERE" for definitions that may require project-, user-, or platform-specific
# changes.
#
# There is a companion to this file named Makefile.rules, q.v.  This file
# (.vars) and the .rules file are separated since this file should be included
# at or near the top of a platform-specific Makefile, while the .rules file
# should be included at or near the bottom of the platform-specific Makefile.
#


#
# Define the name of this project.  CHANGE HERE to the appropriate project
# name.
# 
#
PROJECTNAME =	support

#
# Define the root path to the projects directory.  CHANGE HERE to the
# appropriate projects path name.
#
PROJECTSDIR =	/users/gfisher/projects/work

#
# Define the platform we're building on.  CHANGE HERE to the appropriate
# platform.
#
PLATFORM =		SUN4G

#
# Define the paths to the overall projects include, lib, and bin dirs.
#
PROJINCLUDEDIR =$(PROJECTSDIR)/include
PROJLIBDIR =    $(PROJECTSDIR)/lib
PROJBINDIR =    $(PROJECTSDIR)/bin

#
# Define relative paths to design, implementation, and testing dirs.  Note that
# these paths are relative to a platform-specific Makefile in
# $(PLATFORM)/Makefile.  Note further that one of these definitions could be
# replaced with just "..", depending on which part project we're making.  They
# are defined as they are to keep this Makefile.vars file more generic.
#
DESIGNDIR =	../../design/c++
IMPLEDIR =	../../implementation/source/c++
TESTDIR =	../../testing
IMPLEOBJDIR =	../../implementation/executables/$(PLATFORM)
TESTINGOBJDIR =	$(TESTINGDIR)/$(PLATFORM)


#
# Define which c++ compiler to use.
#
CC =		g++

#
# If Amulet is being used, include the Amulet Makefile.vars file.  This is
# included above the defintions that follow, particularly the defintion of
# CFLAGS, in case we want to add to or override some of the Amulet defintions.
# Note that AMULET_DIR is a UNIX environment var, per Amulet conventions.  This
# environment var must have been set prior to execution of this Makefile.  See
# the Amulet documentation for further information.
#
#include $(AMULET_DIR)/bin/Makefile.vars

#
# Define local include dirs as the project design dir and the overall project
# include dir.  The .. dir is also defined as a local include for the testing
# phase, since testing .h files can be included in the same dir as testing .C
# files.
#
LOCALINCLUDES =	\
		-I$(DESIGNDIR) \
		-I$(PROJECTSDIR)/include \
		-I..

#
# Define includes to be local includes, for starters.  CHNAGE HERE to modify or
# extend the include file search path as necessary.
#
INCLUDES =	$(LOCALINCLUDES)

#
# Add local cflags to Amulet's.  CHANGE HERE to modify or add C flags.
#
CFLAGS =	$(AM_CFLAGS) -g -c $(INCLUDES)

#
# Add local lib dirs to Amulet's LIB_DIR path.  CHANGE HERE to modify or extend
# lib dirs.
#
LIBDIRS	=	-L$(LIB_DIR)

#
# Add local libs to Amulet's.  CHANGE HERE to modify or extend libs.
#
LIBS =		$(LIBDIRS) $(AM_LIBS) -lamulet -lm -ly -ll


#
# Define local ld flags.  CHANGE HERE to modify or extend ld flags.
#
LDFLAGS =       -g

#
# Define the abs path to the gcc lib dir.  CHANGE HERE, or remove entirely, as
# appropriate.
#
GNULIBDIR =	/opt/gnu/include


#
# Define depend flags appropriately.  CHANGE HERE to modify or extend depend
# flags.
#
DEPENDFLAGS =	-I$(AMULET_DIR) \
		-I$(GNULIBDIR)/g++ \
		-I/opt/gnu/sparc-sun-solaris2.6/include \
		$(LOCALINCLUDES)

#
# Define the source files that makedepend will use.  CHANGE HERE, or better yet
# in the including Makefile, to complete this definition appropriately.  Note
# that this definition is completely empty here, and is actually better defined
# in the Makefile that includes this Makefile.vars.  It is included here as a
# reminder to that DEPENDSRCS needs to be defined in order for the generic
# makedepend rule (in ./Makefile.rules) to work properly.
#
DEPENDSRCS =	


#
# The following is an attempt to get rid of the makedepend "incomplete include"
# error messages.  Unfortunately, this attempt and a number of similar variants
# do not work.  Failed variants include surronding the amulet/* file names with
# '<' ... '>', '"' ... '"', and '\"' ... '\"'.
#		-DAM_IO__H=amulet/am_io.h \
#		-DDEBUGGER__H=amulet/debugger.h \
#		-DFORMULA__H=amulet/formula.h \
#		-DGDEFS__H=amulet/gdefs.h \
#		-DGEM__H=amulet/gem.h \
#		-DGESTURE__H=amulet/gesture.h \
#		-DIDEFS__H=amulet/idefs.h \
#		-DINTER__H=amulet/inter.h \
#		-DMISC__H=amulet/misc.h \
#		-DOBJECT__H=amulet/object.h \
#		-DOPAL__H=amulet/opal.h \
#		-DREGISTRY__H=amulet/registry.h \
#		-DSTDVALUE__H=amulet/stdvalue.h \
#		-DTEXT_FNS__H=amulet/text_fns.h \
#		-DTYPES__H=amulet/types.h \
#		-DUNIV_LST__H=amulet/univ_lst.h \
#		-DUNIV_MAP__H=amulet/univ_map.h \
#		-DUNIV_MAP__TPL=amulet/univ_map.tpl \
#		-DWEB__H=amulet/web.h \
#		-DWIDGETS__H=amulet/widget