ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.14
Committed: Tue Sep 21 08:48:40 1999 UTC (25 years, 8 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_9_33
Changes since 1.19.2.13: +1 -1 lines
Log Message:
Fix Insure Shared Libraries

File Contents

# User Rev Content
1 williamc 1.1 # Some Pre-Defined Rules For Building Stuff
2     #
3 williamc 1.16 .PHONY:bin lib
4 williamc 1.2 lib : dependencies.mk
5     bin : dependencies.mk
6 williamc 1.1
7     #------------------------------------------------
8     # Default Behaviours - interpreted from makefile
9     #------------------------------------------------
10 williamc 1.18 # -- Set the library vapths
11     vpath %.$(SharedSuffix) $(librarystore):$(RELEASETOP)/$(INTlib)
12     vpath %.$(ArchiveSuffix) $(librarystore):$(RELEASETOP)/$(INTlib)
13 williamc 1.6 # -- storage of binaries
14     binarystore:=$(LOCALTOP)/$(INTbin)
15     VPATH+=:$(LOCALTOP)/$(INTbin):$(RELEASETOP)/$(INTbin)
16 williamc 1.1
17     # -- library names
18    
19     ifdef libname
20     ifndef arlibname
21     arlibname=$(libname)
22     endif
23     ifndef shlibname
24     shlibname=$(libname)
25     endif
26     endif
27    
28 williamc 1.19.2.11 libmsg::
29     @echo --------------- $(libname) --------------
30 williamc 1.1 # -- Libray type defaults
31    
32 williamc 1.19.2.7 ifndef DefaultLibsOff
33 williamc 1.1 ifdef DefaultShared
34 williamc 1.19.2.7 LibShared=true
35     endif
36     ifdef DefaultDebugShared
37     LibDebugShared=true
38     endif
39     ifdef DefaultInsureShared
40     LibInsureShared=true
41     endif
42     ifdef DefaultArchive
43     LibArchive=true
44     endif
45     ifdef DefaultDebugArchive
46     LibDebugArchive=true
47     endif
48     ifdef DefaultInsureArchive
49     LibInsureArchive=true
50     endif
51     endif
52    
53     # -- Library types
54 williamc 1.19.2.8 ifneq ($(strip $(files)),)
55 williamc 1.19.2.11 lib : libmsg
56 williamc 1.19.2.7 ifdef LibShared
57 williamc 1.1 lib : $(shlibname).$(SharedSuffix)
58     endif
59 williamc 1.19.2.7 ifdef LibDebugShared
60 williamc 1.1 lib : $(shlibname)_d.$(SharedSuffix)
61     endif
62 williamc 1.19.2.7 ifdef LibInsureShared
63 williamc 1.12 lib : $(shlibname)_Insure.$(SharedSuffix)
64     endif
65 williamc 1.19.2.7 ifdef LibArchive
66 williamc 1.1 lib : $(arlibname).$(ArchiveSuffix)
67     endif
68 williamc 1.19.2.7 ifdef LibDebugArchive
69 williamc 1.1 lib : $(arlibname)_d.$(ArchiveSuffix)
70     endif
71 williamc 1.19.2.7 ifdef LibInsureArchive
72 williamc 1.12 lib : $(arlibname)_Insure.$(ArchiveSuffix)
73     endif
74 williamc 1.1 endif
75    
76     #------------------------------------------------
77     # Set up some system variables
78     # - all begin with S
79     #------------------------------------------------
80    
81     Sarchivelibobjs:=$(addsuffix .o,$(archivefiles))
82     Sarchivelibdebugobjs:=$(addsuffix _d.o,$(archivefiles))
83     Ssharedlibobjs:=$(addsuffix _pic.o,$(sharedfiles))
84     Ssharedlibdebugobjs:=$(addsuffix _picd.o,$(sharedfiles))
85 williamc 1.12 SsharedlibInsureobjs:=$(addsuffix _picInsure.o,$(sharedfiles))
86     SarchivelibInsureobjs:=$(addsuffix _Insure.o,$(archivefiles))
87 williamc 1.7
88 williamc 1.1 #------------------------------------------------
89     # Rules Start Here
90     #------------------------------------------------
91    
92     # Implicit Rules first
93     # -- Standard Shared Objects
94     %_pic.o : %.cpp
95 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
96 williamc 1.19.2.2 %_pic.o : %.cxx
97 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
98 williamc 1.19.2.3 %_pic.o : %.c
99 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
100 williamc 1.1 %_pic.o : %.C
101 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
102 williamc 1.1 %_pic.o : %.cc
103 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
104 williamc 1.1 %_pic.o : %.F
105 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $(SharedFCObjectFlags) $< -o $@
106 williamc 1.1 %_pic.o : %.f
107 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $(SharedFCObjectFlags) $< -o $@
108 williamc 1.1
109     # -- Debug Shared Objects
110     %_picd.o : %.cc
111     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
112    
113     %_picd.o : %.C
114     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
115    
116     %_picd.o : %.cpp
117     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
118    
119 williamc 1.19.2.2 %_picd.o : %.cxx
120     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
121 williamc 1.19.2.3 %_picd.o : %.c
122     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
123 williamc 1.1 %_picd.o : %.F
124     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
125    
126     %_picd.o : %.f
127     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
128 williamc 1.12
129     # -- Debug Shared Objects with Insure
130     %_picInsure.o : %.cc
131     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
132    
133     %_picInsure.o : %.C
134     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
135    
136     %_picInsure.o : %.cpp
137     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
138    
139 williamc 1.19.2.2 %_picInsure.o : %.cxx
140     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
141 williamc 1.1
142 williamc 1.19.2.3 %_picInsure.o : %.c
143     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
144    
145 williamc 1.1 # -- Debug Archive Libs
146     %_d.o : %.cpp
147     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
148    
149 williamc 1.19.2.2 %_d.o : %.cxx
150     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
151    
152 williamc 1.19.2.3 %_d.o : %.c
153     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
154    
155 williamc 1.1 %_d.o : %.cc
156     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
157    
158     %_d.o : %.C
159     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
160    
161     %_d.o : %.F
162     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
163    
164     %_d.o : %.f
165     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
166 williamc 1.6
167 williamc 1.12 # -- Debug Archive Libs with Insure
168     %_Insure.o : %.cpp
169     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
170    
171 williamc 1.19.2.2 %_Insure.o : %.cxx
172     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
173    
174 williamc 1.19.2.3 %_Insure.o : %.c
175     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
176    
177 williamc 1.12 %_Insure.o : %.cc
178     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
179    
180     %_Insure.o : %.C
181     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
182    
183     # -- Standard Archive Libs
184 williamc 1.15 %.o : %.cpp
185 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
186 williamc 1.19.2.2
187     %.o : %.cxx
188 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
189 williamc 1.19.2.3
190     %.o : %.c
191 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
192 williamc 1.15
193     %.o : %.cc
194 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
195 williamc 1.15
196     %.o : %.C
197 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
198 williamc 1.15
199     %.o : %.F
200 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $< -o $@
201 williamc 1.15
202     %.o : %.f
203 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $< -o $@
204 williamc 1.15
205 williamc 1.12 # Already built in
206    
207     # -------------------------------------------------------------------------
208     # Executables
209 williamc 1.7 # -------------------------------------------------------------------------
210 williamc 1.6
211 williamc 1.12 # -- Debug Executables
212 williamc 1.6
213 williamc 1.12 lib_d=$(shell $(TOOL_HOME)/LibTypeExpand "_d" $(lib))
214 williamc 1.19.2.12 lib_d_l=$(shell $(TOOL_HOME)/LibTypeExpandLocal "_d" $(lib))
215 williamc 1.10 LDLIBS_D=$(addprefix -l,$(lib_d))
216 williamc 1.19.2.12 LDLIBS_D_L=$(addprefix -l,$(lib_d_l))
217 williamc 1.10
218 williamc 1.15 #%_d.exe :
219     # $(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
220 williamc 1.11
221 williamc 1.12 # -- Insure Executables
222     lib_Insure=$(shell $(TOOL_HOME)/LibTypeExpand "_Insure" $(lib))
223 williamc 1.19.2.13 lib_Insure_l=$(shell $(TOOL_HOME)/LibTypeExpandLocal "_Insure" $(lib))
224 williamc 1.19.2.14 LDLIBS_Insure=$(addprefix -l,$(lib_Insure))
225 williamc 1.15 #%_Insure.exe :
226     # $(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
227 williamc 1.12
228 williamc 1.11 # -- Executables
229 williamc 1.15 #%.exe :
230 williamc 1.19.2.9 # $(CXX) $(CXXFLAGS) $(CXXOptimised) $(LDFLAGS) $< -o $@ $(LDLIBS)
231 williamc 1.6
232 williamc 1.12 # -------------------------------------------------------------------------
233    
234 williamc 1.7 realbins:=$(filter $(bintargets),$(notdir $(wildcard $(LOCALTOP)/$(INTbin)/*)))
235 williamc 1.19 frealbins=$(addprefix $(LOCALTOP)/$(INTbin)/,$(realbins))
236 williamc 1.7 clean ::
237     @if [ "$(realbins)" != "" ] ; then \
238     echo Removing executables : $(realbins); \
239 williamc 1.19 rm $(frealbins); \
240 williamc 1.7 fi;
241 williamc 1.6
242 williamc 1.7 # -------------------------------------------------------------------------
243 williamc 1.1
244     # Some nice generic target names for the user
245    
246     shared : $(shlibname).$(SharedSuffix)
247     shared_debug : $(shlibname)_d.$(SharedSuffix)
248     archive : $(arlibname).$(ArchiveSuffix)
249     archive_debug : $(arlibname)_d.$(ArchiveSuffix)
250 williamc 1.19.2.4 archive_Insure : $(arlibname)_Insure.$(ArchiveSuffix)
251     shared_Insure : $(shlibname)_Insure.$(SharedSuffix)
252 williamc 1.1
253     # Now more specific rules
254    
255     # -- Standard Shared Objects Libs
256 williamc 1.19.2.6 $(shlibname).$(SharedSuffix) : $(Ssharedlibobjs)
257 williamc 1.1 $(SharedCCTool)
258 williamc 1.19.2.6 @mv $@ $(librarystore)/$@
259 williamc 1.1
260     # -- Debug Shared Objects Libs
261 williamc 1.19.2.6 $(shlibname)_d.$(SharedSuffix) : $(Ssharedlibdebugobjs)
262 williamc 1.19.2.10 $(DebugSharedCCTool)
263 williamc 1.19.2.6 @mv $@ $(librarystore)/$@
264 williamc 1.1
265 williamc 1.12 # -- Insure Shared Objects Libs
266 williamc 1.19.2.13 $(shlibname)_Insure.$(SharedSuffix) : $(SsharedlibInsureobjs)
267 williamc 1.19.2.10 $(InsureSharedCCTool)
268 williamc 1.19.2.13 @mv $@ $(librarystore)/$@
269 williamc 1.12
270 williamc 1.1 # -- Standard Archive Libs
271     $(arlibname).$(ArchiveSuffix) : $(Sarchivelibobjs)
272     $(ArchiveCCTool)
273 williamc 1.8 @mv $@ $(librarystore)/$@
274 williamc 1.1
275     # -- Debug Archive Libs
276     $(arlibname)_d.$(ArchiveSuffix) : $(Sarchivelibdebugobjs)
277 williamc 1.12 $(ArchiveCCTool)
278     @mv $@ $(librarystore)/$@
279    
280     # -- Insure Archive libs
281     $(arlibname)_Insure.$(ArchiveSuffix) : $(SarchivelibInsureobjs)
282 williamc 1.1 $(ArchiveCCTool)
283 williamc 1.7 @mv $@ $(librarystore)/$@
284 williamc 1.2
285     # -- Dependencies
286     dependencies.mk: $(files)
287 williamc 1.19.2.1 @if [ "$<" != "" ]; then \
288     echo Generating Dependencies; \
289     $(DependencyCCTool); \
290     $(TOOL_HOME)/DependencyMangler $@; \
291     fi
292 williamc 1.14
293     %.dep:
294 williamc 1.2 @$(DependencyCCTool)
295     @$(TOOL_HOME)/DependencyMangler $@
296 williamc 1.17