ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.4
Committed: Tue Jun 15 13:17:57 1999 UTC (25 years, 11 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_9_16, V0_9_15
Changes since 1.19.2.3: +2 -0 lines
Log Message:
Add generic Insure targets for library

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     # -- Libray type defaults
29    
30     ifdef DefaultShared
31     lib : $(shlibname).$(SharedSuffix)
32     MakeLib=yes
33     endif
34     ifdef DefaultDebugShared
35     lib : $(shlibname)_d.$(SharedSuffix)
36     MakeLib=yes
37     endif
38 williamc 1.12 ifdef DefaultInsureShared
39     lib : $(shlibname)_Insure.$(SharedSuffix)
40     MakeLib=yes
41     endif
42 williamc 1.1 ifdef DefaultArchive
43     lib : $(arlibname).$(ArchiveSuffix)
44     MakeLib=yes
45     endif
46     ifdef DefaultDebugArchive
47     lib : $(arlibname)_d.$(ArchiveSuffix)
48     MakeLib=yes
49     endif
50 williamc 1.12 ifdef DefaultInsureArchive
51     lib : $(arlibname)_Insure.$(ArchiveSuffix)
52     MakeLib=yes
53     endif
54 williamc 1.1
55     ifdef MakeLib
56     all: lib
57     endif
58    
59     #------------------------------------------------
60     # Set up some system variables
61     # - all begin with S
62     #------------------------------------------------
63    
64     Sarchivelibobjs:=$(addsuffix .o,$(archivefiles))
65     Sarchivelibdebugobjs:=$(addsuffix _d.o,$(archivefiles))
66     Ssharedlibobjs:=$(addsuffix _pic.o,$(sharedfiles))
67     Ssharedlibdebugobjs:=$(addsuffix _picd.o,$(sharedfiles))
68 williamc 1.12 SsharedlibInsureobjs:=$(addsuffix _picInsure.o,$(sharedfiles))
69     SarchivelibInsureobjs:=$(addsuffix _Insure.o,$(archivefiles))
70 williamc 1.7
71 williamc 1.1 #------------------------------------------------
72     # Rules Start Here
73     #------------------------------------------------
74    
75     # Implicit Rules first
76     # -- Standard Shared Objects
77     %_pic.o : %.cpp
78     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
79 williamc 1.19.2.2 %_pic.o : %.cxx
80     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
81 williamc 1.19.2.3 %_pic.o : %.c
82     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
83 williamc 1.1 %_pic.o : %.C
84     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
85     %_pic.o : %.cc
86     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
87     %_pic.o : %.F
88     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(SharedFCObjectFlags) $< -o $@
89     %_pic.o : %.f
90     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(SharedFCObjectFlags) $< -o $@
91    
92     # -- Debug Shared Objects
93     %_picd.o : %.cc
94     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
95    
96     %_picd.o : %.C
97     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
98    
99     %_picd.o : %.cpp
100     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
101    
102 williamc 1.19.2.2 %_picd.o : %.cxx
103     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
104 williamc 1.19.2.3 %_picd.o : %.c
105     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
106 williamc 1.1 %_picd.o : %.F
107     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
108    
109     %_picd.o : %.f
110     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
111 williamc 1.12
112     # -- Debug Shared Objects with Insure
113     %_picInsure.o : %.cc
114     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
115    
116     %_picInsure.o : %.C
117     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
118    
119     %_picInsure.o : %.cpp
120     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
121    
122 williamc 1.19.2.2 %_picInsure.o : %.cxx
123     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
124 williamc 1.1
125 williamc 1.19.2.3 %_picInsure.o : %.c
126     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
127    
128 williamc 1.1 # -- Debug Archive Libs
129     %_d.o : %.cpp
130     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
131    
132 williamc 1.19.2.2 %_d.o : %.cxx
133     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
134    
135 williamc 1.19.2.3 %_d.o : %.c
136     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
137    
138 williamc 1.1 %_d.o : %.cc
139     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
140    
141     %_d.o : %.C
142     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
143    
144     %_d.o : %.F
145     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
146    
147     %_d.o : %.f
148     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
149 williamc 1.6
150 williamc 1.12 # -- Debug Archive Libs with Insure
151     %_Insure.o : %.cpp
152     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
153    
154 williamc 1.19.2.2 %_Insure.o : %.cxx
155     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
156    
157 williamc 1.19.2.3 %_Insure.o : %.c
158     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
159    
160 williamc 1.12 %_Insure.o : %.cc
161     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
162    
163     %_Insure.o : %.C
164     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
165    
166     # -- Standard Archive Libs
167 williamc 1.15 %.o : %.cpp
168 williamc 1.19.2.2 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
169    
170     %.o : %.cxx
171 williamc 1.19.2.3 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
172    
173     %.o : %.c
174 williamc 1.15 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
175    
176     %.o : %.cc
177     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
178    
179     %.o : %.C
180     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
181    
182     %.o : %.F
183     $(FC) -c $(CPPFLAGS) $(FFLAGS) $< -o $@
184    
185     %.o : %.f
186     $(FC) -c $(CPPFLAGS) $(FFLAGS) $< -o $@
187    
188 williamc 1.12 # Already built in
189    
190     # -------------------------------------------------------------------------
191     # Executables
192 williamc 1.7 # -------------------------------------------------------------------------
193 williamc 1.6
194 williamc 1.12 # -- Debug Executables
195 williamc 1.6
196 williamc 1.12 lib_d=$(shell $(TOOL_HOME)/LibTypeExpand "_d" $(lib))
197 williamc 1.10 LDLIBS_D=$(addprefix -l,$(lib_d))
198    
199 williamc 1.15 #%_d.exe :
200     # $(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
201 williamc 1.11
202 williamc 1.12 # -- Insure Executables
203     lib_Insure=$(shell $(TOOL_HOME)/LibTypeExpand "_Insure" $(lib))
204     LDLIBS_I=$(addprefix -l,$(lib_Insure))
205 williamc 1.15 #%_Insure.exe :
206     # $(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
207 williamc 1.12
208 williamc 1.11 # -- Executables
209 williamc 1.15 #%.exe :
210     # $(CXX) $(CXXFLAGS) $(LDFLAGS) $< -o $@ $(LDLIBS)
211 williamc 1.6
212 williamc 1.12 # -------------------------------------------------------------------------
213    
214 williamc 1.7 realbins:=$(filter $(bintargets),$(notdir $(wildcard $(LOCALTOP)/$(INTbin)/*)))
215 williamc 1.19 frealbins=$(addprefix $(LOCALTOP)/$(INTbin)/,$(realbins))
216 williamc 1.7 clean ::
217     @if [ "$(realbins)" != "" ] ; then \
218     echo Removing executables : $(realbins); \
219 williamc 1.19 rm $(frealbins); \
220 williamc 1.7 fi;
221 williamc 1.6
222 williamc 1.7 # -------------------------------------------------------------------------
223 williamc 1.1
224     # Some nice generic target names for the user
225    
226     shared : $(shlibname).$(SharedSuffix)
227     shared_debug : $(shlibname)_d.$(SharedSuffix)
228     archive : $(arlibname).$(ArchiveSuffix)
229     archive_debug : $(arlibname)_d.$(ArchiveSuffix)
230 williamc 1.19.2.4 archive_Insure : $(arlibname)_Insure.$(ArchiveSuffix)
231     shared_Insure : $(shlibname)_Insure.$(SharedSuffix)
232 williamc 1.1
233     # Now more specific rules
234    
235     # -- Standard Shared Objects Libs
236 williamc 1.3 $(shlibname)_pic.$(SharedSuffix) : $(Ssharedlibobjs)
237 williamc 1.1 $(SharedCCTool)
238 williamc 1.3
239     $(shlibname).$(SharedSuffix) : $(shlibname)_pic.$(SharedSuffix)
240     @mv $< $(librarystore)/$@
241 williamc 1.1
242     # -- Debug Shared Objects Libs
243 williamc 1.3 $(shlibname)_picd.$(SharedSuffix) : $(Ssharedlibdebugobjs)
244 williamc 1.1 $(SharedCCTool)
245 williamc 1.3
246 williamc 1.4 $(shlibname)_d.$(SharedSuffix) : $(Ssharedlibdebugobjs)
247 williamc 1.3 @mv $< $(librarystore)/$@
248 williamc 1.1
249 williamc 1.12 # -- Insure Shared Objects Libs
250     $(shlibname)_picInsure.$(SharedSuffix) : $(SsharedlibInsureobjs)
251     $(SharedCCTool)
252    
253     $(shlibname)_Insure.$(SharedSuffix) : $(SsharedlibInsureobjs)
254     @mv $< $(librarystore)/$@
255    
256 williamc 1.1 # -- Standard Archive Libs
257     $(arlibname).$(ArchiveSuffix) : $(Sarchivelibobjs)
258     $(ArchiveCCTool)
259 williamc 1.8 @mv $@ $(librarystore)/$@
260 williamc 1.1
261     # -- Debug Archive Libs
262     $(arlibname)_d.$(ArchiveSuffix) : $(Sarchivelibdebugobjs)
263 williamc 1.12 $(ArchiveCCTool)
264     @mv $@ $(librarystore)/$@
265    
266     # -- Insure Archive libs
267     $(arlibname)_Insure.$(ArchiveSuffix) : $(SarchivelibInsureobjs)
268 williamc 1.1 $(ArchiveCCTool)
269 williamc 1.7 @mv $@ $(librarystore)/$@
270 williamc 1.2
271     # -- Dependencies
272     dependencies.mk: $(files)
273 williamc 1.19.2.1 @if [ "$<" != "" ]; then \
274     echo Generating Dependencies; \
275     $(DependencyCCTool); \
276     $(TOOL_HOME)/DependencyMangler $@; \
277     fi
278 williamc 1.14
279     %.dep:
280 williamc 1.2 @$(DependencyCCTool)
281     @$(TOOL_HOME)/DependencyMangler $@
282 williamc 1.17