ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/compilers.mk
Revision: 1.14.2.4
Committed: Mon May 17 12:54:19 1999 UTC (26 years ago) by williamc
Branch: V0_9branch
CVS Tags: V0_9_11, V0_9_10
Changes since 1.14.2.3: +3 -0 lines
Log Message:
Use base templateDB when linking also

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     FCDebugFlag=-g
20 williamc 1.7 FC:=f77
21 williamc 1.1
22     ArchiveSuffix = a
23     ArchiveTool = ar -rc $@ $^
24     ArchiveCCTool = $(ArchiveTool)
25 williamc 1.14 SCClinkCmd=$(CXX) $(CXXFLAGS) $(LDFLAGS) $< -o $@
26     SCClinkCmd_d=$(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@
27 williamc 1.11 CClinkCmd=$(SCClinkCmd) $(LDLIBS)
28 williamc 1.14 CClinkCmdDebug=$(SCClinkCmd_d) $(LDLIBS_D)
29     CClinkCmdInsure=$(SCClinkCmd_d) $(LDLIBS_Insure)
30 williamc 1.1
31     SharedCCObjectFlags = -PIC
32     SharedFCObjectFlags = -PIC
33     SharedSuffix =so
34     SharedCCTool = @echo No Shared Library support
35 williamc 1.14.2.1 DependencyCCTool = $(CXX) -M $(CPPFLAGS) $^ > $@
36 williamc 1.1
37     #----------------------------------------------
38     # Sun 4.2 CC
39     #----------------------------------------------
40     ifeq ($(CCcompiler),Sun-CC-4.2)
41 williamc 1.10 CXX=CC
42 williamc 1.14.2.3 templatedblib=-ptr$(template_dir) -ptr$(RELEASETOP)/$(workdir)/$(template_dir)
43 williamc 1.14.2.4 templatedbin=-ptr$(RELEASETOP)/$(workdir)/$(template_dir)
44 williamc 1.14.2.3 templatedbo=-ptr$(template_dir)
45 williamc 1.14.2.4 SCClinkCmd+=$(templatedbin)
46     SCClinkCmd_d+=$(templatedbin)
47 williamc 1.14.2.3 CXXFLAGS+=$(templatedbo)
48 williamc 1.6 template_dir=$(shell echo $@ | sed -e 's/.*\(_.*\)\..*/tmpl\1/' -e 's/.*.o/tmpl/' -e 's/.*.a/tmpl/' -e 's/.*.exe/tmpl/')
49 williamc 1.14.2.3 ArchiveCCTool = $(CXX) -xar -o $@ $^ $(templatedblib)
50     SharedCCTool = $(CXX) -G -o $@ $^ $(templatedblib)
51 williamc 1.10 DependencyCCTool = $(CXX) -xM1 $(CPPFLAGS) $^ > $@
52 williamc 1.4 ifdef f77
53     extralib+=M77 F77 sunmath m
54     endif
55 williamc 1.1 endif
56    
57     #----------------------------------------------
58     # aCC HP-UX
59     #----------------------------------------------
60     ifeq ($(CCcompiler),aCC)
61     CXX=aCC
62     SharedCCObjectFlags = +Z
63     SharedSuffix=sl
64     SharedCCTool=aCC -b $^ -o $@
65 williamc 1.4 ifdef f77
66     LIBDIR+=/opt/fortran/lib
67     extralib+=cl isamstub U77 /usr/lib/libdld.sl
68     endif
69 williamc 1.1 endif
70    
71     #----------------------------------------------
72     # gcc Linux
73     #----------------------------------------------
74     ifeq ($(CCcompiler),gcc)
75     CXX=c++
76     SharedCCObjectFlags = -fPIC
77     SharedCCTool = gcc $^ -o $@ -shared -Wl,-soname,$@
78 williamc 1.4 ifdef f77
79     extralib+=f2c m
80     endif
81 williamc 1.1 endif
82    
83     #----------------------------------------------
84     # egcs Linux
85     #----------------------------------------------
86     ifeq ($(CCcompiler),egcs)
87     CXX=c++
88     SharedCCObjectFlags = -fPIC
89     SharedCCTool = $(CXX) $^ -o $@ -shared -Wl,-soname,$@
90 williamc 1.4 ifdef f77
91     extralib+=g2c m
92     endif
93 williamc 1.7 endif
94    
95     #----------------------------------------------
96     # GNU g77 Fortran compiler
97     #----------------------------------------------
98     ifeq ($(F77compiler),g77)
99     FC:=g77
100 williamc 1.1 endif
101 williamc 1.8
102    
103     #-----------------------------------------------
104     # Insure++
105     #-----------------------------------------------
106     Insure:=insure
107 williamc 1.9 .psrc :
108     -@rm .psrc
109     echo insure++.compiler_cpp $(CXX) >> .psrc
110     echo insure++.temp_directory /tmp >> .psrc
111     echo insure++.compiler_default cpp >> .psrc
112     echo insure++.summarize leaks >> .psrc