#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 if lib$(TOPENVNAME).a * * o The name is also used to add suffix to each class defined * * in this environment. * ***************************************************************/ TOPENVNAME = cdenglish /************************************************************** * (3). SI for generating a single inheritance environment * * MI for generating a multiple inheritance environment * * * * SIMI = MI * ***************************************************************/ 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 to create an executable program or create * * a libray. You have to provide your own Imakefile * * in these subdirectories. * * * * List all the names of the .o files created from these * * subdirectories and used to create an executable program * * or create a library. (IMPORTANT!!!) * * * * The names of subdirectories should be placed before * * notmod. * ***************************************************************/ SUBDIRS = notmod EXTRASRCS = EXTRAOBJS = /************************************************************* * (7) Give where Demeter lives. * * dmkmf will give default setup. You might use a * * different integration strategy. * **************************************************************/ DEMETER = $(TOP) /************************************************************* * (8). Use INCLUDES to pass -I flags. * * Use DEFINES to pass -D or -U flags. * * * * Use -DNOTRACE to turn off trace. * **************************************************************/ INCLUDES = -I. -I$(DEMETER)/include DEFINES = -D$(SIMI) -DNOTRACE CDEBUGFLAGS = -g /*-Bstatic*/ /*************************************************************** * (9). Add the libraries(in full path) here, including all the * * names of libraries generated from Demeter environments * * and used to build an executable. * * * * IMPORTANT!!! * * Add those libraries BEFORE libdemeter.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 = g++ * ****************************************************************/ CCC = /local/apps/objectcenter/bin/CC CC = cc ccC = cc /**************************************************************** * (12). Overwrite cd-print while regenerating this environment. * * * * OVERWRITECDPRINT=no * *****************************************************************/ OVERWRITECDPRINT=no /**************************************************************** * (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 * ******************************************************************/ 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 * ******************************************************************/ TARGETINCLUDEDIR = ../include TARGETINCLUDENAME = $(TOPENVNAME) /***************************************************************** * (17). The list of classes for which constructor will be not * * aumantically generated. * ******************************************************************/ NOCONSTRUCTOR= /***************************************************************** * (18). The list of the components used in this environment. * * COMPONENTS is generated. DONT EDIT!!! * ******************************************************************/ COMPONENTS = /***************************************************************** * (19). The rule to build this environment. DONT EDIT!! * ******************************************************************/ DemeterProgram() AllTarget(install) install:: if [ ! -d $(TOP)/bin/util/cd-english ]; then mkdir $(TOP)/bin/util/cd-english; fi chgrp demsys $(TOP)/bin/util/cd-english chmod 755 $(TOP)/bin/util/cd-english if [ ! -d $(TOP)/bin/util/cd-english/`get-cpu` ]; then mkdir $(TOP)/bin/util/cd-english/`get-cpu`; fi chgrp demsys $(TOP)/bin/util/cd-english/`get-cpu` chmod 755 $(TOP)/bin/util/cd-english/`get-cpu` $(RM) -rf $(TOP)/bin/util/cd-english/`get-cpu`/run-exec $(INSTALL) -g demsys -m 755 -s -c notmod/`get-cpu`/run-exec $(TOP)/bin/util/cd-english/`get-cpu` $(RM) -rf $(TOP)/bin/util/cd-english/cd-* $(INSTALL) -g demsys -m 444 -c scanner/cd-print $(TOP)/bin/util/cd-english $(INSTALL) -g demsys -m 444 -c scanner/cd-parse $(TOP)/bin/util/cd-english