ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/compilers.mk
Revision: 1.15
Committed: Mon Aug 28 08:35:12 2000 UTC (24 years, 8 months ago) by williamc
Branch: MAIN
Changes since 1.14: +90 -10 lines
Log Message:
remove Interface.pm

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     CXX=CC
18     CXXDebugFlag=-g
19 williamc 1.15 CXXO2Flag=-O2
20     CXXOptimised=$(CXXO2Flag)
21     FCO2Flag=-O2
22     FCOptimised=$(FCO2Flag)
23 williamc 1.1 FCDebugFlag=-g
24 williamc 1.7 FC:=f77
25 williamc 1.1
26 williamc 1.15 # java
27     JAVAC:=javac
28     JAVACG:=javac_g
29     JAVAC_=$(JAVAC)
30     JAVAC_o=$(JAVAC) -O
31     JAVAC_d=$(JAVAC) -g
32     JAVAC_g=$(JAVACG) -O
33     JAVAC_gd=$(JAVACG) -g
34    
35 williamc 1.1 ArchiveSuffix = a
36     ArchiveTool = ar -rc $@ $^
37     ArchiveCCTool = $(ArchiveTool)
38 williamc 1.15 DebugArchiveCCTool = $(ArchiveTool)
39     SCClinkCmd=$(CXX) $(CXXFLAGS) $(CXXOptimised) $(LDFLAGS) $< -o $@
40 williamc 1.14 SCClinkCmd_d=$(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@
41 williamc 1.11 CClinkCmd=$(SCClinkCmd) $(LDLIBS)
42 williamc 1.14 CClinkCmdDebug=$(SCClinkCmd_d) $(LDLIBS_D)
43 williamc 1.15 CClinkCmdDebugLocal=$(SCClinkCmd_d) $(LDLIBS_D_L)
44     CClinkCmdInsure=$(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_Insure)
45 williamc 1.1
46     SharedCCObjectFlags = -PIC
47     SharedFCObjectFlags = -PIC
48     SharedSuffix =so
49     SharedCCTool = @echo No Shared Library support
50 williamc 1.15 DebugSharedCCTool = $(SharedCCTool)
51     InsureSharedCCTool = $(DebugSharedCCTool)
52     DependencyCCTool = $(CXX) -M $(CPPFLAGS) $(DependIncludes) $^ > $@
53     PreProcessorCCTool = $(CXX) -P $(CPPFLAGS) $^
54 williamc 1.1
55     #----------------------------------------------
56     # Sun 4.2 CC
57     #----------------------------------------------
58     ifeq ($(CCcompiler),Sun-CC-4.2)
59 williamc 1.10 CXX=CC
60 williamc 1.15 templatedblib=-ptr$(template_dir) -ptr$(RELEASETOP)/$(workdir)/$(template_dir)
61     templatedoblib=-ptrtmpl_o -ptr$(RELEASETOP)/$(workdir)/tmpl_o
62     templatedshlib=-ptr$(templatesh_dir) -ptr$(RELEASETOP)/$(workdir)/$(templatesh_dir)
63     templateddshlib=-ptr$(templateshd_dir) -ptr$(RELEASETOP)/$(workdir)/$(templateshd_dir)
64     templatedinsureshlib=-ptr$(templateshi_dir) -ptr$(RELEASETOP)/$(workdir)/$(templateshi_dir)
65     templatedbin=-ptr$(RELEASETOP)/$(workdir)/$(template_dir)
66     templatedbo=-ptr$(template_dir)
67     SCClinkCmd+=$(templatedbin)
68     SCClinkCmd_d+=$(templatedbin)
69     CXXFLAGS+=$(templatedbo)
70     template_dir=$(shell echo $@ | sed -e 's/.*\(_.*\)\..*/tmpl\1/' -e 's/.*\.o/tmpl/' -e 's/.*\.a/tmpl/' -e 's/.*\.exe/tmpl/')
71     templatesh_dir=tmpl_pic
72     templateshd_dir=tmpl_picd
73     templateshi_dir=tmpl_picInsure
74     ArchiveCCTool = $(CXX) -xar -o $@ $^ $(templatedoblib)
75     DebugArchiveCCTool = $(CXX) -xar -o $@ $^ $(templatedblib)
76     SharedCCTool = $(CXX) -G $(CXXSharedFlags) -o $@ $^ $(templatedshlib) $(CXXSharedLink)
77     DebugSharedCCTool = $(CXX) -G $(CXXSharedFlags) $(CXXDebugFlag) -o $@ $^ $(templateddshlib) $(CXXSharedLink)
78     InsureSharedCCTool = $(CXX) -G $(CXXSharedFlags) $(CXXDebugFlag) -o $@ $^ $(templatedinsureshlib) $(CXXSharedLink)
79     DependencyCCTool = $(CXX) -xM1 $(CPPFLAGS) $(DependIncludes) $^ > $@
80     ifdef defaultcompilerlib$(DependIncludes)
81     PRIORITY_LIBDIR s+=/opt/SUNWspro/SC4.2/lib
82     endif
83 williamc 1.4 ifdef f77
84     extralib+=M77 F77 sunmath m
85     endif
86 williamc 1.15 ifdef MultiThreaded
87     CXXFLAGS+=-mt
88     endif
89 williamc 1.1 endif
90    
91     #----------------------------------------------
92     # aCC HP-UX
93     #----------------------------------------------
94     ifeq ($(CCcompiler),aCC)
95     CXX=aCC
96     SharedCCObjectFlags = +Z
97     SharedSuffix=sl
98     SharedCCTool=aCC -b $^ -o $@
99 williamc 1.15 DebugSharedCCTool=aCC $(CXXDebugFlag) -b $^ -o $@
100 williamc 1.4 ifdef f77
101     LIBDIR+=/opt/fortran/lib
102     extralib+=cl isamstub U77 /usr/lib/libdld.sl
103     endif
104 williamc 1.1 endif
105    
106     #----------------------------------------------
107     # gcc Linux
108     #----------------------------------------------
109     ifeq ($(CCcompiler),gcc)
110     CXX=c++
111     SharedCCObjectFlags = -fPIC
112 williamc 1.15 SharedCCTool = gcc $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
113     DebugSharedCCTool = gcc $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
114 williamc 1.4 ifdef f77
115     extralib+=f2c m
116     endif
117 williamc 1.1 endif
118    
119     #----------------------------------------------
120     # egcs Linux
121     #----------------------------------------------
122     ifeq ($(CCcompiler),egcs)
123     CXX=c++
124     SharedCCObjectFlags = -fPIC
125 williamc 1.15 SharedCCTool = $(CXX) $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
126     DebugSharedCCTool = $(CXX) $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
127     PreProcessorCCTool = $(CXX) -E $(CPPFLAGS) $^ -o $@
128     ifdef f77
129     extralib+=g2c m
130     endif
131     endif
132    
133     #----------------------------------------------
134     # gcc2.95 Linux
135     #----------------------------------------------
136     ifeq ($(CCcompiler),gcc2.95)
137     CXX=c++
138     SharedCCObjectFlags = -fPIC
139     SharedCCTool = $(CXX) $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
140     DebugSharedCCTool = $(CXX) $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
141     PreProcessorCCTool = $(CXX) -E $(CPPFLAGS) $^ -o $@
142 williamc 1.4 ifdef f77
143     extralib+=g2c m
144     endif
145 williamc 1.7 endif
146    
147     #----------------------------------------------
148     # GNU g77 Fortran compiler
149     #----------------------------------------------
150     ifeq ($(F77compiler),g77)
151 williamc 1.15 SharedFCObjectFlags = -fPIC
152 williamc 1.7 FC:=g77
153 williamc 1.1 endif
154 williamc 1.8
155 williamc 1.15 #----------------------------------------------
156     # HP-UX Fortran compiler fort77
157     #----------------------------------------------
158     ifeq ($(F77compiler),fort77)
159     FC:=fort77
160     SharedFCObjectFlags = +Z
161     endif
162 williamc 1.8
163     #-----------------------------------------------
164     # Insure++
165     #-----------------------------------------------
166     Insure:=insure
167 williamc 1.9 .psrc :
168 williamc 1.15 if [ -f .psrc ]; then \
169     rm .psrc; \
170     fi;
171     ifeq ($(CCcompiler),egcs)
172     echo insure++.compiler_cpp g++ >> .psrc
173     else
174 williamc 1.9 echo insure++.compiler_cpp $(CXX) >> .psrc
175 williamc 1.15 endif
176 williamc 1.9 echo insure++.temp_directory /tmp >> .psrc
177     echo insure++.compiler_default cpp >> .psrc
178     echo insure++.summarize leaks >> .psrc
179 williamc 1.15 echo insure++.inuse on >> .psrc
180    
181     #-----------------------------------------------
182     # Macabe
183     #-----------------------------------------------
184     ifdef MCCABE_EXTENSIONS
185     include mccabe.mk
186     endif