ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.22
Committed: Wed Dec 1 15:42:15 1999 UTC (25 years, 5 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_10_13, V0_10_12, V0_10_11, V0_10_10, V0_10_9, V0_10_8, V0_10_7, V0_10_6
Changes since 1.19.2.21: +44 -44 lines
Log Message:
make silent scramdsbuild calls

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 williamc 1.19.2.20 #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.19 .PHONY: libmsg
29 williamc 1.19.2.11 libmsg::
30     @echo --------------- $(libname) --------------
31 williamc 1.1 # -- Libray type defaults
32    
33 williamc 1.19.2.7 ifndef DefaultLibsOff
34 williamc 1.1 ifdef DefaultShared
35 williamc 1.19.2.7 LibShared=true
36     endif
37     ifdef DefaultDebugShared
38     LibDebugShared=true
39     endif
40     ifdef DefaultInsureShared
41     LibInsureShared=true
42     endif
43     ifdef DefaultArchive
44     LibArchive=true
45     endif
46     ifdef DefaultDebugArchive
47     LibDebugArchive=true
48     endif
49     ifdef DefaultInsureArchive
50     LibInsureArchive=true
51     endif
52     endif
53    
54     # -- Library types
55 williamc 1.19.2.8 ifneq ($(strip $(files)),)
56 williamc 1.19.2.11 lib : libmsg
57 williamc 1.19.2.7 ifdef LibShared
58 williamc 1.1 lib : $(shlibname).$(SharedSuffix)
59     endif
60 williamc 1.19.2.7 ifdef LibDebugShared
61 williamc 1.1 lib : $(shlibname)_d.$(SharedSuffix)
62     endif
63 williamc 1.19.2.7 ifdef LibInsureShared
64 williamc 1.12 lib : $(shlibname)_Insure.$(SharedSuffix)
65     endif
66 williamc 1.19.2.7 ifdef LibArchive
67 williamc 1.1 lib : $(arlibname).$(ArchiveSuffix)
68     endif
69 williamc 1.19.2.7 ifdef LibDebugArchive
70 williamc 1.1 lib : $(arlibname)_d.$(ArchiveSuffix)
71     endif
72 williamc 1.19.2.7 ifdef LibInsureArchive
73 williamc 1.12 lib : $(arlibname)_Insure.$(ArchiveSuffix)
74     endif
75 williamc 1.1 endif
76    
77     #------------------------------------------------
78     # Set up some system variables
79     # - all begin with S
80     #------------------------------------------------
81    
82 williamc 1.19.2.16 Sarchivelibobjs:=$(addsuffix _o.o,$(archivefiles))
83 williamc 1.1 Sarchivelibdebugobjs:=$(addsuffix _d.o,$(archivefiles))
84     Ssharedlibobjs:=$(addsuffix _pic.o,$(sharedfiles))
85     Ssharedlibdebugobjs:=$(addsuffix _picd.o,$(sharedfiles))
86 williamc 1.12 SsharedlibInsureobjs:=$(addsuffix _picInsure.o,$(sharedfiles))
87     SarchivelibInsureobjs:=$(addsuffix _Insure.o,$(archivefiles))
88 williamc 1.7
89 williamc 1.1 #------------------------------------------------
90     # Rules Start Here
91     #------------------------------------------------
92    
93     # Implicit Rules first
94     # -- Standard Shared Objects
95     %_pic.o : %.cpp
96 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
97 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
98 williamc 1.19.2.2 %_pic.o : %.cxx
99 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
100 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
101 williamc 1.19.2.3 %_pic.o : %.c
102 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
103 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
104 williamc 1.1 %_pic.o : %.C
105 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
106 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
107 williamc 1.1 %_pic.o : %.cc
108 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $(SharedCCObjectFlags) $< -o $@
109 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
110 williamc 1.1 %_pic.o : %.F
111 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $(SharedFCObjectFlags) $< -o $@
112 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
113 williamc 1.1 %_pic.o : %.f
114 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $(SharedFCObjectFlags) $< -o $@
115 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
116 williamc 1.1
117     # -- Debug Shared Objects
118     %_picd.o : %.cc
119     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
120 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
121 williamc 1.1
122     %_picd.o : %.C
123     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
124 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
125 williamc 1.1
126     %_picd.o : %.cpp
127     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
128 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
129 williamc 1.1
130 williamc 1.19.2.2 %_picd.o : %.cxx
131     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
132 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
133 williamc 1.19.2.3 %_picd.o : %.c
134     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
135 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
136 williamc 1.1 %_picd.o : %.F
137     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
138 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
139 williamc 1.1
140     %_picd.o : %.f
141     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
142 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
143 williamc 1.12
144     # -- Debug Shared Objects with Insure
145     %_picInsure.o : %.cc
146     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
147 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
148 williamc 1.12
149     %_picInsure.o : %.C
150     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
151 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
152 williamc 1.12
153     %_picInsure.o : %.cpp
154     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
155 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
156 williamc 1.12
157 williamc 1.19.2.2 %_picInsure.o : %.cxx
158     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
159 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
160 williamc 1.1
161 williamc 1.19.2.3 %_picInsure.o : %.c
162     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
163 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
164 williamc 1.19.2.3
165 williamc 1.1 # -- Debug Archive Libs
166     %_d.o : %.cpp
167     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
168 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
169 williamc 1.1
170 williamc 1.19.2.2 %_d.o : %.cxx
171     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
172 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
173 williamc 1.19.2.2
174 williamc 1.19.2.3 %_d.o : %.c
175     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
176 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
177 williamc 1.19.2.3
178 williamc 1.1 %_d.o : %.cc
179     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
180 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
181 williamc 1.1
182     %_d.o : %.C
183     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
184 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
185 williamc 1.1
186     %_d.o : %.F
187     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
188 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
189 williamc 1.1
190     %_d.o : %.f
191     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
192 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
193 williamc 1.6
194 williamc 1.12 # -- Debug Archive Libs with Insure
195     %_Insure.o : %.cpp
196     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
197 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
198 williamc 1.12
199 williamc 1.19.2.2 %_Insure.o : %.cxx
200     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
201 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
202 williamc 1.19.2.2
203 williamc 1.19.2.3 %_Insure.o : %.c
204     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
205 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
206 williamc 1.19.2.3
207 williamc 1.12 %_Insure.o : %.cc
208     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
209 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
210 williamc 1.12
211     %_Insure.o : %.C
212     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
213 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
214 williamc 1.12
215     # -- Standard Archive Libs
216 williamc 1.19.2.16 %_o.o : %.cpp
217 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
218 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
219 williamc 1.19.2.2
220 williamc 1.19.2.16 %_o.o : %.cxx
221 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
222 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
223 williamc 1.19.2.3
224 williamc 1.19.2.16 %_o.o : %.c
225 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
226 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
227 williamc 1.15
228 williamc 1.19.2.16 %_o.o : %.cc
229 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
230 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
231 williamc 1.15
232 williamc 1.19.2.16 %_o.o : %.C
233 williamc 1.19.2.9 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXOptimised) $< -o $@
234 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
235 williamc 1.15
236 williamc 1.19.2.16 %_o.o : %.F
237 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $< -o $@
238 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
239 williamc 1.15
240 williamc 1.19.2.16 %_o.o : %.f
241 williamc 1.19.2.9 $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCOptimised) $< -o $@
242 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
243 williamc 1.15
244 williamc 1.12 # Already built in
245    
246     # -------------------------------------------------------------------------
247     # Executables
248 williamc 1.7 # -------------------------------------------------------------------------
249 williamc 1.6
250 williamc 1.12 # -- Debug Executables
251 williamc 1.6
252 williamc 1.12 lib_d=$(shell $(TOOL_HOME)/LibTypeExpand "_d" $(lib))
253 williamc 1.19.2.12 lib_d_l=$(shell $(TOOL_HOME)/LibTypeExpandLocal "_d" $(lib))
254 williamc 1.10 LDLIBS_D=$(addprefix -l,$(lib_d))
255 williamc 1.19.2.12 LDLIBS_D_L=$(addprefix -l,$(lib_d_l))
256 williamc 1.10
257 williamc 1.15 #%_d.exe :
258     # $(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
259 williamc 1.11
260 williamc 1.12 # -- Insure Executables
261 williamc 1.19.2.15 lib_Insure1=$(shell $(TOOL_HOME)/LibTypeExpand "_Insure" $(lib))
262 williamc 1.19.2.17 lib_Insure=$(shell $(TOOL_HOME)/LibTypeExpandLocal "_d" $(lib_Insure1))
263 williamc 1.19.2.15 lib_Insure_l1=$(shell $(TOOL_HOME)/LibTypeExpandLocal "_Insure" $(lib))
264     lib_Insure_l=$(shell $(TOOL_HOME)/LibTypeExpandLocal "_d" $(lib_Insure_l1))
265 williamc 1.19.2.14 LDLIBS_Insure=$(addprefix -l,$(lib_Insure))
266 williamc 1.15 #%_Insure.exe :
267     # $(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
268 williamc 1.12
269 williamc 1.11 # -- Executables
270 williamc 1.15 #%.exe :
271 williamc 1.19.2.9 # $(CXX) $(CXXFLAGS) $(CXXOptimised) $(LDFLAGS) $< -o $@ $(LDLIBS)
272 williamc 1.6
273 williamc 1.12 # -------------------------------------------------------------------------
274    
275 williamc 1.7 realbins:=$(filter $(bintargets),$(notdir $(wildcard $(LOCALTOP)/$(INTbin)/*)))
276 williamc 1.19 frealbins=$(addprefix $(LOCALTOP)/$(INTbin)/,$(realbins))
277 williamc 1.7 clean ::
278     @if [ "$(realbins)" != "" ] ; then \
279     echo Removing executables : $(realbins); \
280 williamc 1.19 rm $(frealbins); \
281 williamc 1.7 fi;
282 williamc 1.6
283 williamc 1.7 # -------------------------------------------------------------------------
284 williamc 1.1
285     # Some nice generic target names for the user
286    
287     shared : $(shlibname).$(SharedSuffix)
288     shared_debug : $(shlibname)_d.$(SharedSuffix)
289     archive : $(arlibname).$(ArchiveSuffix)
290     archive_debug : $(arlibname)_d.$(ArchiveSuffix)
291 williamc 1.19.2.4 archive_Insure : $(arlibname)_Insure.$(ArchiveSuffix)
292     shared_Insure : $(shlibname)_Insure.$(SharedSuffix)
293 williamc 1.1
294     # Now more specific rules
295    
296     # -- Standard Shared Objects Libs
297 williamc 1.19.2.6 $(shlibname).$(SharedSuffix) : $(Ssharedlibobjs)
298 williamc 1.1 $(SharedCCTool)
299 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
300 williamc 1.19.2.6 @mv $@ $(librarystore)/$@
301 williamc 1.1
302     # -- Debug Shared Objects Libs
303 williamc 1.19.2.6 $(shlibname)_d.$(SharedSuffix) : $(Ssharedlibdebugobjs)
304 williamc 1.19.2.10 $(DebugSharedCCTool)
305 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
306 williamc 1.19.2.6 @mv $@ $(librarystore)/$@
307 williamc 1.1
308 williamc 1.12 # -- Insure Shared Objects Libs
309 williamc 1.19.2.13 $(shlibname)_Insure.$(SharedSuffix) : $(SsharedlibInsureobjs)
310 williamc 1.19.2.10 $(InsureSharedCCTool)
311 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
312 williamc 1.19.2.13 @mv $@ $(librarystore)/$@
313 williamc 1.12
314 williamc 1.1 # -- Standard Archive Libs
315     $(arlibname).$(ArchiveSuffix) : $(Sarchivelibobjs)
316     $(ArchiveCCTool)
317 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
318 williamc 1.8 @mv $@ $(librarystore)/$@
319 williamc 1.1
320     # -- Debug Archive Libs
321     $(arlibname)_d.$(ArchiveSuffix) : $(Sarchivelibdebugobjs)
322 williamc 1.19.2.16 $(DebugArchiveCCTool)
323 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
324 williamc 1.12 @mv $@ $(librarystore)/$@
325    
326     # -- Insure Archive libs
327     $(arlibname)_Insure.$(ArchiveSuffix) : $(SarchivelibInsureobjs)
328 williamc 1.19.2.16 $(DebugArchiveCCTool)
329 williamc 1.19.2.22 @$(SCRAM_HOME)/src/scramdatestamp $@.ds $@ $^
330 williamc 1.7 @mv $@ $(librarystore)/$@
331 williamc 1.2
332     # -- Dependencies
333 williamc 1.19.2.19 ifndef MAKETARGET_clean
334 williamc 1.19.2.18 dependencies.mk:: $(files)
335 williamc 1.19.2.1 @if [ "$<" != "" ]; then \
336     echo Generating Dependencies; \
337     $(DependencyCCTool); \
338     $(TOOL_HOME)/DependencyMangler $@; \
339     fi
340 williamc 1.14
341 williamc 1.19.2.17 %.dep:
342 williamc 1.2 @$(DependencyCCTool)
343     @$(TOOL_HOME)/DependencyMangler $@
344 williamc 1.19.2.19 endif