ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/compilers.mk
Revision: 1.14.2.36
Committed: Tue Aug 1 09:08:52 2000 UTC (24 years, 9 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_13_3
Changes since 1.14.2.35: +12 -0 lines
Log Message:
Ensure site/group settings included by compiler.mk

File Contents

# User Rev Content
1 williamc 1.1 # Compiler Specific Details
2     #
3     #----------------------------------------------
4     # Some standard variables
5     #----------------------------------------------
6     # arlibname : name of library archive etc
7     # shlibname : name of shared object
8     # arlibobjs : name of objects destined for a library archive
9     # sharedlibobjs : name of objects detined for a shared object file
10     #
11     #
12     #
13     #----------------------------------------------
14     # Standard Defaults
15     # Override as necessary for specific compilers
16     #----------------------------------------------
17 williamc 1.14.2.36 ifndef __COMPILERSINC__
18     __COMPILERSINC__:=true
19    
20     ifdef SCRAM_GROUPSDIR
21     -include $(SCRAM_GROUPSDIR)
22     endif
23     # Get Site settings
24     clientmakefile=$(LOCALTOP)/$(INTwork)/clientmakefile
25     -include $(clientmakefile)
26    
27 williamc 1.1 CXX=CC
28     CXXDebugFlag=-g
29 williamc 1.14.2.12 CXXO2Flag=-O2
30     CXXOptimised=$(CXXO2Flag)
31     FCO2Flag=-O2
32     FCOptimised=$(FCO2Flag)
33 williamc 1.1 FCDebugFlag=-g
34 williamc 1.7 FC:=f77
35 williamc 1.1
36 williamc 1.14.2.24 # java
37     JAVAC:=javac
38     JAVACG:=javac_g
39     JAVAC_=$(JAVAC)
40     JAVAC_o=$(JAVAC) -O
41     JAVAC_d=$(JAVAC) -g
42     JAVAC_g=$(JAVACG) -O
43     JAVAC_gd=$(JAVACG) -g
44    
45 williamc 1.1 ArchiveSuffix = a
46     ArchiveTool = ar -rc $@ $^
47     ArchiveCCTool = $(ArchiveTool)
48 williamc 1.14.2.18 DebugArchiveCCTool = $(ArchiveTool)
49 williamc 1.14.2.12 SCClinkCmd=$(CXX) $(CXXFLAGS) $(CXXOptimised) $(LDFLAGS) $< -o $@
50 williamc 1.14 SCClinkCmd_d=$(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@
51 williamc 1.11 CClinkCmd=$(SCClinkCmd) $(LDLIBS)
52 williamc 1.14 CClinkCmdDebug=$(SCClinkCmd_d) $(LDLIBS_D)
53 williamc 1.14.2.14 CClinkCmdDebugLocal=$(SCClinkCmd_d) $(LDLIBS_D_L)
54 williamc 1.14.2.16 CClinkCmdInsure=$(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_Insure)
55 williamc 1.1
56     SharedCCObjectFlags = -PIC
57     SharedFCObjectFlags = -PIC
58     SharedSuffix =so
59     SharedCCTool = @echo No Shared Library support
60 williamc 1.14.2.13 DebugSharedCCTool = $(SharedCCTool)
61     InsureSharedCCTool = $(DebugSharedCCTool)
62 williamc 1.14.2.22 DependencyCCTool = $(CXX) -M $(CPPFLAGS) $(DependIncludes) $^ > $@
63 williamc 1.14.2.7 PreProcessorCCTool = $(CXX) -P $(CPPFLAGS) $^
64 williamc 1.1
65     #----------------------------------------------
66     # Sun 4.2 CC
67     #----------------------------------------------
68     ifeq ($(CCcompiler),Sun-CC-4.2)
69 williamc 1.14.2.32 CXX=CC
70 williamc 1.14.2.3 templatedblib=-ptr$(template_dir) -ptr$(RELEASETOP)/$(workdir)/$(template_dir)
71 williamc 1.14.2.19 templatedoblib=-ptrtmpl_o -ptr$(RELEASETOP)/$(workdir)/tmpl_o
72 williamc 1.14.2.11 templatedshlib=-ptr$(templatesh_dir) -ptr$(RELEASETOP)/$(workdir)/$(templatesh_dir)
73 williamc 1.14.2.13 templateddshlib=-ptr$(templateshd_dir) -ptr$(RELEASETOP)/$(workdir)/$(templateshd_dir)
74     templatedinsureshlib=-ptr$(templateshi_dir) -ptr$(RELEASETOP)/$(workdir)/$(templateshi_dir)
75 williamc 1.14.2.4 templatedbin=-ptr$(RELEASETOP)/$(workdir)/$(template_dir)
76 williamc 1.14.2.3 templatedbo=-ptr$(template_dir)
77 williamc 1.14.2.4 SCClinkCmd+=$(templatedbin)
78     SCClinkCmd_d+=$(templatedbin)
79 williamc 1.14.2.3 CXXFLAGS+=$(templatedbo)
80 williamc 1.14.2.18 template_dir=$(shell echo $@ | sed -e 's/.*\(_.*\)\..*/tmpl\1/' -e 's/.*\.o/tmpl/' -e 's/.*\.a/tmpl/' -e 's/.*\.exe/tmpl/')
81 williamc 1.14.2.11 templatesh_dir=tmpl_pic
82 williamc 1.14.2.13 templateshd_dir=tmpl_picd
83 williamc 1.14.2.15 templateshi_dir=tmpl_picInsure
84 williamc 1.14.2.18 ArchiveCCTool = $(CXX) -xar -o $@ $^ $(templatedoblib)
85     DebugArchiveCCTool = $(CXX) -xar -o $@ $^ $(templatedblib)
86 williamc 1.14.2.31 SharedCCTool = $(CXX) -G $(CXXSharedFlags) -o $@ $^ $(templatedshlib) $(CXXSharedLink)
87     DebugSharedCCTool = $(CXX) -G $(CXXSharedFlags) $(CXXDebugFlag) -o $@ $^ $(templateddshlib) $(CXXSharedLink)
88     InsureSharedCCTool = $(CXX) -G $(CXXSharedFlags) $(CXXDebugFlag) -o $@ $^ $(templatedinsureshlib) $(CXXSharedLink)
89 williamc 1.14.2.22 DependencyCCTool = $(CXX) -xM1 $(CPPFLAGS) $(DependIncludes) $^ > $@
90     ifdef defaultcompilerlib$(DependIncludes)
91     PRIORITY_LIBDIR s+=/opt/SUNWspro/SC4.2/lib
92 williamc 1.14.2.20 endif
93 williamc 1.4 ifdef f77
94     extralib+=M77 F77 sunmath m
95     endif
96 williamc 1.14.2.9 ifdef MultiThreaded
97 williamc 1.14.2.8 CXXFLAGS+=-mt
98     endif
99 williamc 1.1 endif
100    
101     #----------------------------------------------
102     # aCC HP-UX
103     #----------------------------------------------
104     ifeq ($(CCcompiler),aCC)
105     CXX=aCC
106     SharedCCObjectFlags = +Z
107     SharedSuffix=sl
108     SharedCCTool=aCC -b $^ -o $@
109 williamc 1.14.2.13 DebugSharedCCTool=aCC $(CXXDebugFlag) -b $^ -o $@
110 williamc 1.4 ifdef f77
111     LIBDIR+=/opt/fortran/lib
112     extralib+=cl isamstub U77 /usr/lib/libdld.sl
113     endif
114 williamc 1.1 endif
115    
116     #----------------------------------------------
117     # gcc Linux
118     #----------------------------------------------
119     ifeq ($(CCcompiler),gcc)
120     CXX=c++
121     SharedCCObjectFlags = -fPIC
122 williamc 1.14.2.30 SharedCCTool = gcc $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
123 williamc 1.14.2.31 DebugSharedCCTool = gcc $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
124 williamc 1.4 ifdef f77
125     extralib+=f2c m
126     endif
127 williamc 1.1 endif
128    
129     #----------------------------------------------
130     # egcs Linux
131     #----------------------------------------------
132     ifeq ($(CCcompiler),egcs)
133 williamc 1.14.2.32 CXX=c++
134 williamc 1.1 SharedCCObjectFlags = -fPIC
135 williamc 1.14.2.30 SharedCCTool = $(CXX) $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
136 williamc 1.14.2.31 DebugSharedCCTool = $(CXX) $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
137 williamc 1.14.2.28 PreProcessorCCTool = $(CXX) -E $(CPPFLAGS) $^ -o $@
138 williamc 1.4 ifdef f77
139     extralib+=g2c m
140     endif
141 williamc 1.7 endif
142    
143     #----------------------------------------------
144 williamc 1.14.2.21 # gcc2.95 Linux
145     #----------------------------------------------
146     ifeq ($(CCcompiler),gcc2.95)
147     CXX=c++
148     SharedCCObjectFlags = -fPIC
149 williamc 1.14.2.30 SharedCCTool = $(CXX) $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
150 williamc 1.14.2.31 DebugSharedCCTool = $(CXX) $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
151 williamc 1.14.2.29 PreProcessorCCTool = $(CXX) -E $(CPPFLAGS) $^ -o $@
152 williamc 1.14.2.21 ifdef f77
153     extralib+=g2c m
154     endif
155     endif
156    
157     #----------------------------------------------
158 williamc 1.7 # GNU g77 Fortran compiler
159     #----------------------------------------------
160     ifeq ($(F77compiler),g77)
161 williamc 1.14.2.21 SharedFCObjectFlags = -fPIC
162 williamc 1.7 FC:=g77
163 williamc 1.1 endif
164 williamc 1.8
165 williamc 1.14.2.10 #----------------------------------------------
166     # HP-UX Fortran compiler fort77
167     #----------------------------------------------
168     ifeq ($(F77compiler),fort77)
169     FC:=fort77
170     SharedFCObjectFlags = +Z
171     endif
172 williamc 1.8
173     #-----------------------------------------------
174     # Insure++
175     #-----------------------------------------------
176     Insure:=insure
177 williamc 1.9 .psrc :
178 williamc 1.14.2.23 if [ -f .psrc ]; then \
179     rm .psrc; \
180     fi;
181 williamc 1.14.2.34 ifeq ($(CCcompiler),egcs)
182     echo insure++.compiler_cpp g++ >> .psrc
183     else
184 williamc 1.9 echo insure++.compiler_cpp $(CXX) >> .psrc
185 williamc 1.14.2.34 endif
186 williamc 1.9 echo insure++.temp_directory /tmp >> .psrc
187     echo insure++.compiler_default cpp >> .psrc
188     echo insure++.summarize leaks >> .psrc
189 williamc 1.14.2.35 echo insure++.inuse on >> .psrc
190 williamc 1.14.2.5
191     #-----------------------------------------------
192     # Macabe
193     #-----------------------------------------------
194     ifdef MCCABE_EXTENSIONS
195     include mccabe.mk
196     endif
197 williamc 1.14.2.36
198     endif