ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.7
Committed: Fri Aug 27 14:01:15 1999 UTC (25 years, 8 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_9_27, V0_9_26, V0_9_25, V0_9_24, V0_9_23, V0_9_22
Changes since 1.19.2.6: +27 -5 lines
Log Message:
Add the libtype tag

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