ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/compilers.mk
Revision: 1.14.2.31
Committed: Thu May 18 13:35:08 2000 UTC (24 years, 11 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_12_9b, V0_12_10, V0_12_9, V0_12_8
Changes since 1.14.2.30: +6 -6 lines
Log Message:
Add new link optins for shared rules

File Contents

# Content
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 CXXO2Flag=-O2
20 CXXOptimised=$(CXXO2Flag)
21 FCO2Flag=-O2
22 FCOptimised=$(FCO2Flag)
23 FCDebugFlag=-g
24 FC:=f77
25
26 # 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 ArchiveSuffix = a
36 ArchiveTool = ar -rc $@ $^
37 ArchiveCCTool = $(ArchiveTool)
38 DebugArchiveCCTool = $(ArchiveTool)
39 SCClinkCmd=$(CXX) $(CXXFLAGS) $(CXXOptimised) $(LDFLAGS) $< -o $@
40 SCClinkCmd_d=$(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@
41 CClinkCmd=$(SCClinkCmd) $(LDLIBS)
42 CClinkCmdDebug=$(SCClinkCmd_d) $(LDLIBS_D)
43 CClinkCmdDebugLocal=$(SCClinkCmd_d) $(LDLIBS_D_L)
44 CClinkCmdInsure=$(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_Insure)
45
46 SharedCCObjectFlags = -PIC
47 SharedFCObjectFlags = -PIC
48 SharedSuffix =so
49 SharedCCTool = @echo No Shared Library support
50 DebugSharedCCTool = $(SharedCCTool)
51 InsureSharedCCTool = $(DebugSharedCCTool)
52 DependencyCCTool = $(CXX) -M $(CPPFLAGS) $(DependIncludes) $^ > $@
53 PreProcessorCCTool = $(CXX) -P $(CPPFLAGS) $^
54
55 #----------------------------------------------
56 # Sun 4.2 CC
57 #----------------------------------------------
58 ifeq ($(CCcompiler),Sun-CC-4.2)
59 CXX=eval `scram runtime -sh`; CC
60 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 ifdef f77
84 extralib+=M77 F77 sunmath m
85 endif
86 ifdef MultiThreaded
87 CXXFLAGS+=-mt
88 endif
89 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 DebugSharedCCTool=aCC $(CXXDebugFlag) -b $^ -o $@
100 ifdef f77
101 LIBDIR+=/opt/fortran/lib
102 extralib+=cl isamstub U77 /usr/lib/libdld.sl
103 endif
104 endif
105
106 #----------------------------------------------
107 # gcc Linux
108 #----------------------------------------------
109 ifeq ($(CCcompiler),gcc)
110 CXX=c++
111 SharedCCObjectFlags = -fPIC
112 SharedCCTool = gcc $(CXXSharedFlags) $^ -o $@ -shared -Wl,-soname,$@
113 DebugSharedCCTool = gcc $(CXXSharedFlags) $(CXXDebugFlag) $^ -o $@ -shared -Wl,-soname,$@ $(CXXSharedLink)
114 ifdef f77
115 extralib+=f2c m
116 endif
117 endif
118
119 #----------------------------------------------
120 # egcs Linux
121 #----------------------------------------------
122 ifeq ($(CCcompiler),egcs)
123 CXX=eval `scram runtime -sh`; c++
124 SharedCCObjectFlags = -fPIC
125 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 ifdef f77
143 extralib+=g2c m
144 endif
145 endif
146
147 #----------------------------------------------
148 # GNU g77 Fortran compiler
149 #----------------------------------------------
150 ifeq ($(F77compiler),g77)
151 SharedFCObjectFlags = -fPIC
152 FC:=g77
153 endif
154
155 #----------------------------------------------
156 # HP-UX Fortran compiler fort77
157 #----------------------------------------------
158 ifeq ($(F77compiler),fort77)
159 FC:=fort77
160 SharedFCObjectFlags = +Z
161 endif
162
163 #-----------------------------------------------
164 # Insure++
165 #-----------------------------------------------
166 Insure:=insure
167 .psrc :
168 if [ -f .psrc ]; then \
169 rm .psrc; \
170 fi;
171 echo insure++.compiler_cpp $(CXX) >> .psrc
172 echo insure++.temp_directory /tmp >> .psrc
173 echo insure++.compiler_default cpp >> .psrc
174 echo insure++.summarize leaks >> .psrc
175
176 #-----------------------------------------------
177 # Macabe
178 #-----------------------------------------------
179 ifdef MCCABE_EXTENSIONS
180 include mccabe.mk
181 endif