ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.23.2.1.2.1
Committed: Mon Oct 23 10:13:35 2000 UTC (24 years, 6 months ago) by williamc
Branch: V0_15branch
CVS Tags: BuildSystemProto1, V0_18_0model, V0_17_1, V0_18_0alpha, V0_17_0, V0_16_4, V0_16_3, V0_16_2, V0_16_1, V0_16_0
Branch point for: V0_17branch, V0_16branch
Changes since 1.19.2.23.2.1: +1 -0 lines
Log Message:
Add ProductStore mechanism

File Contents

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