2 # $Log: make.config,v $
3 # Revision 1.23 1995/09/18 18:32:11 newhall
6 # Revision 1.22 1995/07/17 04:24:45 tamches
7 # strengthened the warnings under TCL_FRIENDLY
9 # Revision 1.21 1995/06/30 00:51:40 krisna
10 # update for Tcl-7.4, Tk-4.0
12 # Revision 1.20 1995/06/22 21:40:29 tamches
13 # Added TCLFRIENDLYWARNINGS for those wishing to use it.
14 # Added NO_IMPLICIT_TEMPLATES for those wishing to use it.
16 # Revision 1.19 1995/04/15 03:03:48 krisna
19 # Revision 1.18 1995/04/07 17:21:41 jcargill
20 # Added a variable to control inlining of all template functions (avoids name
21 # conflicts when we're forcing template instantiation)
23 # Revision 1.17 1995/04/05 20:22:21 jcargill
24 # Added COLLECTOR for HPUX; added support for INSTANTIATE_TEMPLATES
26 # Revision 1.16 1995/03/15 19:10:47 jcargill
27 # Added default COLLECTOR for purify
29 # Revision 1.15 1995/02/27 17:34:10 jcargill
30 # Simplified setting of ARCH_DEF, include a local config file, removed
31 # explicit gcc path bogusness
33 # Revision 1.14 1995/02/16 07:55:28 markc
34 # Added flags for template and kludge files.
35 # Added automatic generation of architecture defines (-Dsparc_sun_sunos4.1.3, etc)
36 # Added inline defines to generate stl code properly.
38 # Revision 1.13 1995/01/30 20:42:44 jcargill
39 # Fixed error; use CXX rather then CC++
41 # Revision 1.12 1995/01/30 18:08:15 jcargill
42 # Major build system reorganization
44 # Revision 1.11 1994/09/30 19:21:07 rbi
47 # Revision 1.10 1994/06/29 03:02:45 hollings
49 # added -fexternal-templates to CFLAGS
51 # Revision 1.9 1994/05/17 00:20:37 hollings
52 # added default baselined lib to VPATH
64 # COLLECTOR is only used by purify
65 COLLECTOR = /usr/psup/gcc-2.6.3/lib/gcc-lib/$(PLATFORM)/2.6.3/ld
68 ifeq ($(PLATFORM),sparc-sun-solaris2.4)
73 ifeq ($(PLATFORM),hppa1.1-hp-hpux)
74 COLLECTOR = /usr/psup/gcc-2.6.3/lib/gcc-lib/hppa1.1-hp-hpux9.01/2.6.3/ld
79 ARCH_DEF = -D$(shell echo $$PLATFORM | perl -pe 's/\./_/g;s/-/_/g')
81 ERROR PLATFORM MUST BE DEFINED IN ORDER TO BUILD PARADYN
84 # most "main" modules are only two levels deep, but we need to be able to
85 # change this for those that are deeper in the tree
90 # Default module compiler; modules which want $(CC) should redefine
94 MODCFLAGS = $(CXXFLAGS)
99 # VPATH = ../src:$(TO_CORE)/../lib/$(PLATFORM):/p/paradyn/lib/$(PLATFORM)
101 IFLAGS = -I. -I$(TO_CORE)
103 ASFLAGS = -P $(ARCH_DEF) $(IFLAGS)
105 COMMONWARNINGS = -W -Wall -Wtraditional -Wshadow -Wpointer-arith \
106 -Wbad-function-cast -Wcast-qual -Wcast-align \
107 -Wwrite-strings -Wconversion -Wstrict-prototypes \
108 -Wmissing-prototypes -Wmissing-declarations \
109 -Wredundant-decls -Woverloaded-virtual
111 # not as strict as above, but can actually be used -- mdc
112 USEFULWARNINGS = -W -Wall -Wtraditional -Wpointer-arith \
113 -Wbad-function-cast -Wcast-qual -Wcast-align \
114 -Wwrite-strings -Wconversion -Wstrict-prototypes \
115 -Wmissing-prototypes -Wmissing-declarations \
118 # being nice to poor old pathetic tcl/tk header files --ari
119 TCLFRIENDLYWARNINGS = -W -Wall -Wtraditional -Wpointer-arith \
120 -Wbad-function-cast -Wcast-qual \
121 -Wwrite-strings -Wconversion -Wstrict-prototypes \
122 -Wmissing-prototypes -Wmissing-declarations \
125 #don't inline -- for the files that won't emit template code
128 #inline the private members of the class -- templates.o can use this
129 TEMP_INLINE_DEFINES = -DDO_INLINE_P="inline"
131 # inline everything -- the way things should be
132 ALL_INLINE_DEFINES = -DDO_INLINE_F="inline" -DDO_INLINE_P="inline"
135 CFLAGS = $(IFLAGS) -g -Wall $(ARCH_DEF)
137 CXXFLAGS = $(IFLAGS) -g -Wall $(ARCH_DEF)
139 # flags for kludge files, won't have warnings generated
140 KFLAGS = $(IFLAGS) -g -Wall $(ARCH_DEF)
142 # flags for template files, don't define external template flags
143 # -g is optional in this case -- should be defined at module level
144 TFLAGS = $(IFLAGS) -Wall $(TEMP_INLINE_DEFINES) $(ARCH_DEF)
147 CFLAGS += $(ALL_INLINE_DEFINES)
148 CXXFLAGS += $(ALL_INLINE_DEFINES)
151 LIBDIR = -L$(TO_CORE)/../lib/$(PLATFORM) \
152 -L/p/paradyn/lib/$(PLATFORM) \
155 ifdef NO_IMPLICIT_TEMPLATES
156 CFLAGS += -fno-implicit-templates
157 CXXFLAGS += -fno-implicit-templates
158 KFLAGS += -fno-implicit-templates
159 TFLAGS += -fno-implicit-templates
162 ifndef INSTANTIATE_TEMPLATES
163 ifndef NO_IMPLICIT_TEMPLATES
164 # -fexternal-templates and -Dexternal_templates should both be used or
165 # neither should be used; add them to CFLAGS, CXXFLAGS, and KFLAGS
166 # (but not to TFLAGS).
168 CFLAGS += -fexternal-templates -Dexternal_templates
169 CXXFLAGS += -fexternal-templates -Dexternal_templates
170 KFLAGS += -fexternal-templates -Dexternal_templates
175 PVM_DIR = /p/paradyn/packages/pvm3/lib/$(PLATFORM)
176 IFLAGS += -I/p/paradyn/packages/pvm3/include
177 LIBDIR += $(patsubst %,-L%,$(PVM_DIR))
182 TCLTK_DIRS = /p/paradyn/packages/tcl
183 IFLAGS += $(patsubst %,-I%/include,$(TCLTK_DIRS))
184 LIBDIR += $(patsubst %,-L%/lib,$(TCLTK_DIRS))
185 # VPATH += $(TCLTK_DIRS)
189 FLEX_DIR = /usr/psup/lib
190 LIBDIR += $(patsubst %,-L%,$(FLEX_DIR))
195 LIBERTY_DIR = /usr/psup/gcc/lib
196 LIBDIR += $(patsubst %,-L%,$(LIBERTY_DIR))
197 VPATH += $(LIBERTY_DIR)
201 BLT_DIR = /p/paradyn/packages/blt-1.7
202 LIBDIR += $(patsubst %,-L%/$(PLATFORM),$(BLT_DIR))
203 VPATH += $(BLT_DIR)/$(PLATFORM)
207 ifeq ($(PLATFORM),sparc-sun-solaris2.4)
208 CFLAGS += -I/usr/openwin/include
209 CXXFLAGS += -I/usr/openwin/include
210 TFLAGS += -I/usr/openwin/include
211 LIBDIR += -L/usr/openwin/lib
212 VPATH += /usr/openwin/lib
217 ifeq ($(PLATFORM),sparc-sun-solaris2.4)
222 # Include any per-user configuration changes; this "local" config file
223 # should *not* be under CVS control, so that it never gets committed.
225 -include $(TO_CORE)/make.config.local