ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.8
Committed: Wed Sep 8 09:51:31 1999 UTC (25 years, 8 months ago) by williamc
Branch: V0_9branch
CVS Tags: V0_9_30, V0_9_29, V0_9_28
Changes since 1.19.2.7: +1 -9 lines
Log Message:
Protect library rules - now only exist if files variable is actually set

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