#define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' /************************************************************ * (1) The class dictionary file name. For example, if your * * file is called myclasses.cd, say * * * * USERCD = myclasses.cd * ************************************************************/ USERCD = cd.cd /************************************************************ * (2) Give the name of this environment. * * It is mandatory if you want to build a library from * * this environment. * * * * o The include file for the library is $(TOPENVNAME).h * * o The name of the library is lib$(TOPENVNAME).a * * o The name is also used to add a suffix to each class * * defined in this environment. * ************************************************************/ TOPENVNAME = UNKNOWN /************************************************************ * (3) SI for generating a single inheritance environment. * * MI for generating a multiple inheritance environment.* * ONLY SI IS SUPPORTED * * use in propagation patterns: *wrapper* { A,B,C } * * to express common behavior of a group of classes * * SIMI = SI * ************************************************************/ SIMI = SI /************************************************************ * (4) IMPORTANT!!! * * List all the names of libraries generated from other * * Demeter environments and used to build an executable * * in this environment. * ************************************************************/ DEMETERBUILDLIBS = /************************************************************ * (5) If you do not want to have the intermediate files * * generated by propagate use * * * * WANTPPINTER = * ************************************************************/ WANTPPINTER = -i /************************************************************ * (6) Subdirectory names in the current directory. * * In these subdirectories, you can write additional * * modules that consists of .o files. * * You have to provide your own Imakefile in each * * subdirectory for cimpilation. * * * * List in EXTRAOBJS all the names of the .o files * * created from these subdirectories and used to create * * an executable program or library. * * An example is illustrated in Section 6.4 in the * * Demeter User's Guide. * * * * The names of subdirectories should be placed before * * notmod. * ************************************************************/ SUBDIRS = \ notmod EXTRASRCS = EXTRAOBJS = /************************************************************ * (7) Specify where Demeter lives. gen-make will give a * * default setup. * ************************************************************/ DEMETER = $(TOP) /************************************************************ * (8) Use INCLUDES to pass -I flags. * * Use DEFINES to pass -D or -U flags. * * * * Add -DNOTRACE to DEFINES to turn off trace. * * For example: * * DEFINES = -D$(SIMI) -DNOTRACE * * * * Use -O etc. in CDEBUGFLAGS * * * * Use -L... in EXTRA_LOAD_FLAGS * ************************************************************/ INCLUDES = -I$(DEMETER)/include DEFINES = -D$(SIMI) CDEBUGFLAGS = -g EXTRA_LOAD_FLAGS = /************************************************************ * (9) Add the libraries (give the full path) here, * * including all the names of libraries generated from * * Demeter environments and used to build an executable. * * * * IMPORTANT!!! * * Add those libraries BEFORE libdemeterCOMPILER.a * ************************************************************/ LOCAL_LIBRARIES = \ $(DEMETER)/lib-$(SIMI)/`get-cpu`/libdemeter`basename $(CCC)`.a -ll /************************************************************ * (10) Set to nosuffix if you don't want to add suffixes * * to classes. * * Adding suffixes is to avoid name clashing when you * * build libraries. * * * * NOSUFFIX = * ************************************************************/ NOSUFFIX = nosuffix /************************************************************ * (11) Choose your favorite C++ and C compilers * * * * CCC = /local/gnu/apps/gcc-2.5.8/bin/gcc * ************************************************************/ CCC = CC CC = cc ccC = cc /************************************************************ * (12) Overwrite cd-print while regenerating this * * environment. * * OVERWRITECDPRINT=no * ************************************************************/ OVERWRITECDPRINT=yes /************************************************************ * (13) Overwrite cd-parse while regenerating this * * environment. * * OVERWRITECDPARSE=no * ************************************************************/ OVERWRITECDPARSE=yes /************************************************************ * (14) Choose buildrun or leave it blank to build an * * executable program ONLY. * * * * Choose buildlib to build a library ONLY. * * * * Choose buildrunlib to build an executable program * * AND a library. * * * * EXECLIBFLAG = buildrun * * EXECLIBFLAG = buildlib * * EXECLIBFLAG = buildrunlib * ************************************************************/ EXECLIBFLAG = /************************************************************ * (15) The path where the target library is. * * The default name of the library is * * lib$(TOPENVNAME).a * * You can reset TARGETLIBNAME to rename the generated * * library. * ************************************************************/ TARGETLIBDIR = ../lib TARGETLIBNAME = $(TOPENVNAME) /************************************************************ * (16) The path of the header file, a concatenation of all * * the header files in this environment. * * The default name of the library is $(TOPENVNAME).h * * You can reset TARGETINCLUDENAME to rename the * * generated library. * ************************************************************/ TARGETINCLUDEDIR = ../include TARGETINCLUDENAME = $(TOPENVNAME) /************************************************************ * (17) The list of classes for which a constructor will not * * be automatically generated. * ************************************************************/ NOCONSTRUCTOR= /************************************************************ * (18) The list of the components used in this environment * * COMPONENTS is generated. DON'T EDIT!!! * ************************************************************/ COMPONENTS = /************************************************************ * (19). The rule to build this environment. DON'T EDIT!! * ************************************************************/ DemeterProgram()