ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.23
Committed: Thu Mar 2 15:35:58 2000 UTC (25 years, 2 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_14_0, V0_12_12_4, V0_12_12_3, V0_12_12_2, V0_12_12_1, V0_12_12_0, PlayGround_0, V0_12_12, V0_12_11, V0_12_9b, V0_12_10, V0_12_9, V0_12_8, V0_12_7, V0_12_6, V0_12_5, V0_12_4, V0_12_3, V0_12_2, V0_12_1, V0_12_0, V0_11_4, V0_11_3, V0_11_2, V0_11_1, V0_11_0, V0_10_19, V0_10_18, V0_10_17, V0_10_16, V0_10_15, V0_10_14
Branch point for: HPWbranch
Changes since 1.19.2.22: +2 -0 lines
Log Message:
new java specifics

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