#### # # 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