# # $Log: make.config,v $ # Revision 1.23 1995/09/18 18:32:11 newhall # removed -Wenum-clash # # Revision 1.22 1995/07/17 04:24:45 tamches # strengthened the warnings under TCL_FRIENDLY # # Revision 1.21 1995/06/30 00:51:40 krisna # update for Tcl-7.4, Tk-4.0 # # Revision 1.20 1995/06/22 21:40:29 tamches # Added TCLFRIENDLYWARNINGS for those wishing to use it. # Added NO_IMPLICIT_TEMPLATES for those wishing to use it. # # Revision 1.19 1995/04/15 03:03:48 krisna # solaris-2.4 updates # # Revision 1.18 1995/04/07 17:21:41 jcargill # Added a variable to control inlining of all template functions (avoids name # conflicts when we're forcing template instantiation) # # Revision 1.17 1995/04/05 20:22:21 jcargill # Added COLLECTOR for HPUX; added support for INSTANTIATE_TEMPLATES # # Revision 1.16 1995/03/15 19:10:47 jcargill # Added default COLLECTOR for purify # # Revision 1.15 1995/02/27 17:34:10 jcargill # Simplified setting of ARCH_DEF, include a local config file, removed # explicit gcc path bogusness # # Revision 1.14 1995/02/16 07:55:28 markc # Added flags for template and kludge files. # Added automatic generation of architecture defines (-Dsparc_sun_sunos4.1.3, etc) # Added inline defines to generate stl code properly. # # Revision 1.13 1995/01/30 20:42:44 jcargill # Fixed error; use CXX rather then CC++ # # Revision 1.12 1995/01/30 18:08:15 jcargill # Major build system reorganization # # Revision 1.11 1994/09/30 19:21:07 rbi # itty bitty typo fix # # Revision 1.10 1994/06/29 03:02:45 hollings # AFS file paths # added -fexternal-templates to CFLAGS # # Revision 1.9 1994/05/17 00:20:37 hollings # added default baselined lib to VPATH # # # AS = /bin/as CC = gcc CXX = g++ LEX = flex RANLIB = ranlib YFLAGS = -d -y YACC = bison # COLLECTOR is only used by purify COLLECTOR = /usr/psup/gcc-2.6.3/lib/gcc-lib/$(PLATFORM)/2.6.3/ld ifeq ($(PLATFORM),sparc-sun-solaris2.4) AS = /usr/ccs/bin/as RANLIB = true endif ifeq ($(PLATFORM),hppa1.1-hp-hpux) COLLECTOR = /usr/psup/gcc-2.6.3/lib/gcc-lib/hppa1.1-hp-hpux9.01/2.6.3/ld endif ifdef PLATFORM ARCH_DEF = -D$(shell echo $$PLATFORM | perl -pe 's/\./_/g;s/-/_/g') else ERROR PLATFORM MUST BE DEFINED IN ORDER TO BUILD PARADYN endif # most "main" modules are only two levels deep, but we need to be able to # change this for those that are deeper in the tree ifndef TO_CORE TO_CORE = ../.. endif # Default module compiler; modules which want $(CC) should redefine # this, **NOT** CC MODCC = $(CXX) MODCFLAGS = $(CXXFLAGS) .SUFFIXES: .I # VPATH = ../src:$(TO_CORE)/../lib/$(PLATFORM):/p/paradyn/lib/$(PLATFORM) IFLAGS = -I. -I$(TO_CORE) ASFLAGS = -P $(ARCH_DEF) $(IFLAGS) COMMONWARNINGS = -W -Wall -Wtraditional -Wshadow -Wpointer-arith \ -Wbad-function-cast -Wcast-qual -Wcast-align \ -Wwrite-strings -Wconversion -Wstrict-prototypes \ -Wmissing-prototypes -Wmissing-declarations \ -Wredundant-decls -Woverloaded-virtual # not as strict as above, but can actually be used -- mdc USEFULWARNINGS = -W -Wall -Wtraditional -Wpointer-arith \ -Wbad-function-cast -Wcast-qual -Wcast-align \ -Wwrite-strings -Wconversion -Wstrict-prototypes \ -Wmissing-prototypes -Wmissing-declarations \ -Woverloaded-virtual # being nice to poor old pathetic tcl/tk header files --ari TCLFRIENDLYWARNINGS = -W -Wall -Wtraditional -Wpointer-arith \ -Wbad-function-cast -Wcast-qual \ -Wwrite-strings -Wconversion -Wstrict-prototypes \ -Wmissing-prototypes -Wmissing-declarations \ -Woverloaded-virtual #don't inline -- for the files that won't emit template code INLINE_DEFINES = #inline the private members of the class -- templates.o can use this TEMP_INLINE_DEFINES = -DDO_INLINE_P="inline" # inline everything -- the way things should be ALL_INLINE_DEFINES = -DDO_INLINE_F="inline" -DDO_INLINE_P="inline" CFLAGS = $(IFLAGS) -g -Wall $(ARCH_DEF) CXXFLAGS = $(IFLAGS) -g -Wall $(ARCH_DEF) # flags for kludge files, won't have warnings generated KFLAGS = $(IFLAGS) -g -Wall $(ARCH_DEF) # flags for template files, don't define external template flags # -g is optional in this case -- should be defined at module level TFLAGS = $(IFLAGS) -Wall $(TEMP_INLINE_DEFINES) $(ARCH_DEF) ifdef DO_INLINE_ALL CFLAGS += $(ALL_INLINE_DEFINES) CXXFLAGS += $(ALL_INLINE_DEFINES) endif LIBDIR = -L$(TO_CORE)/../lib/$(PLATFORM) \ -L/p/paradyn/lib/$(PLATFORM) \ -L/usr/psup/lib ifdef NO_IMPLICIT_TEMPLATES CFLAGS += -fno-implicit-templates CXXFLAGS += -fno-implicit-templates KFLAGS += -fno-implicit-templates TFLAGS += -fno-implicit-templates endif ifndef INSTANTIATE_TEMPLATES ifndef NO_IMPLICIT_TEMPLATES # -fexternal-templates and -Dexternal_templates should both be used or # neither should be used; add them to CFLAGS, CXXFLAGS, and KFLAGS # (but not to TFLAGS). # CFLAGS += -fexternal-templates -Dexternal_templates CXXFLAGS += -fexternal-templates -Dexternal_templates KFLAGS += -fexternal-templates -Dexternal_templates endif endif ifdef USES_PVM PVM_DIR = /p/paradyn/packages/pvm3/lib/$(PLATFORM) IFLAGS += -I/p/paradyn/packages/pvm3/include LIBDIR += $(patsubst %,-L%,$(PVM_DIR)) VPATH += $(PVM_DIR) endif ifdef USES_TCLTK TCLTK_DIRS = /p/paradyn/packages/tcl IFLAGS += $(patsubst %,-I%/include,$(TCLTK_DIRS)) LIBDIR += $(patsubst %,-L%/lib,$(TCLTK_DIRS)) # VPATH += $(TCLTK_DIRS) endif ifdef USES_FLEX FLEX_DIR = /usr/psup/lib LIBDIR += $(patsubst %,-L%,$(FLEX_DIR)) VPATH += $(FLEX_DIR) endif ifdef USES_LIBERTY LIBERTY_DIR = /usr/psup/gcc/lib LIBDIR += $(patsubst %,-L%,$(LIBERTY_DIR)) VPATH += $(LIBERTY_DIR) endif ifdef USES_BLT BLT_DIR = /p/paradyn/packages/blt-1.7 LIBDIR += $(patsubst %,-L%/$(PLATFORM),$(BLT_DIR)) VPATH += $(BLT_DIR)/$(PLATFORM) endif ifdef USES_X11 ifeq ($(PLATFORM),sparc-sun-solaris2.4) CFLAGS += -I/usr/openwin/include CXXFLAGS += -I/usr/openwin/include TFLAGS += -I/usr/openwin/include LIBDIR += -L/usr/openwin/lib VPATH += /usr/openwin/lib endif endif ifeq ($(PLATFORM),sparc-sun-solaris2.4) RANLIB = true endif # Include any per-user configuration changes; this "local" config file # should *not* be under CVS control, so that it never gets committed. -include $(TO_CORE)/make.config.local