ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/toolrules.mk
Revision: 1.19.2.2
Committed: Tue May 25 12:33:14 1999 UTC (25 years, 11 months ago) by williamc
Branch: V0_9branch
Changes since 1.19.2.1: +15 -0 lines
Log Message:
Add cxx extensions

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.1 %_pic.o : %.C
82     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
83     %_pic.o : %.cc
84     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SharedCCObjectFlags) $< -o $@
85     %_pic.o : %.F
86     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(SharedFCObjectFlags) $< -o $@
87     %_pic.o : %.f
88     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(SharedFCObjectFlags) $< -o $@
89    
90     # -- Debug Shared Objects
91     %_picd.o : %.cc
92     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
93    
94     %_picd.o : %.C
95     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
96    
97     %_picd.o : %.cpp
98     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
99    
100 williamc 1.19.2.2 %_picd.o : %.cxx
101     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
102 williamc 1.1 %_picd.o : %.F
103     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
104    
105     %_picd.o : %.f
106     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $(SharedFCObjectFlags) $< -o $@
107 williamc 1.12
108     # -- Debug Shared Objects with Insure
109     %_picInsure.o : %.cc
110     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
111    
112     %_picInsure.o : %.C
113     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
114    
115     %_picInsure.o : %.cpp
116     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
117    
118 williamc 1.19.2.2 %_picInsure.o : %.cxx
119     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $(SharedCCObjectFlags) $< -o $@
120 williamc 1.1
121     # -- Debug Archive Libs
122     %_d.o : %.cpp
123     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
124    
125 williamc 1.19.2.2 %_d.o : %.cxx
126     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
127    
128 williamc 1.1 %_d.o : %.cc
129     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
130    
131     %_d.o : %.C
132     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
133    
134     %_d.o : %.F
135     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
136    
137     %_d.o : %.f
138     $(FC) -c $(CPPFLAGS) $(FFLAGS) $(FCDebugFlag) $< -o $@
139 williamc 1.6
140 williamc 1.12 # -- Debug Archive Libs with Insure
141     %_Insure.o : %.cpp
142     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
143    
144 williamc 1.19.2.2 %_Insure.o : %.cxx
145     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
146    
147 williamc 1.12 %_Insure.o : %.cc
148     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
149    
150     %_Insure.o : %.C
151     $(Insure) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXDebugFlag) $< -o $@
152    
153     # -- Standard Archive Libs
154 williamc 1.15 %.o : %.cpp
155 williamc 1.19.2.2 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
156    
157     %.o : %.cxx
158 williamc 1.15 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
159    
160     %.o : %.cc
161     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
162    
163     %.o : %.C
164     $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
165    
166     %.o : %.F
167     $(FC) -c $(CPPFLAGS) $(FFLAGS) $< -o $@
168    
169     %.o : %.f
170     $(FC) -c $(CPPFLAGS) $(FFLAGS) $< -o $@
171    
172 williamc 1.12 # Already built in
173    
174     # -------------------------------------------------------------------------
175     # Executables
176 williamc 1.7 # -------------------------------------------------------------------------
177 williamc 1.6
178 williamc 1.12 # -- Debug Executables
179 williamc 1.6
180 williamc 1.12 lib_d=$(shell $(TOOL_HOME)/LibTypeExpand "_d" $(lib))
181 williamc 1.10 LDLIBS_D=$(addprefix -l,$(lib_d))
182    
183 williamc 1.15 #%_d.exe :
184     # $(CXX) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
185 williamc 1.11
186 williamc 1.12 # -- Insure Executables
187     lib_Insure=$(shell $(TOOL_HOME)/LibTypeExpand "_Insure" $(lib))
188     LDLIBS_I=$(addprefix -l,$(lib_Insure))
189 williamc 1.15 #%_Insure.exe :
190     # $(Insure) $(CXXFLAGS) $(CXXDebugFlag) $(LDFLAGS) $< -o $@ $(LDLIBS_D)
191 williamc 1.12
192 williamc 1.11 # -- Executables
193 williamc 1.15 #%.exe :
194     # $(CXX) $(CXXFLAGS) $(LDFLAGS) $< -o $@ $(LDLIBS)
195 williamc 1.6
196 williamc 1.12 # -------------------------------------------------------------------------
197    
198 williamc 1.7 realbins:=$(filter $(bintargets),$(notdir $(wildcard $(LOCALTOP)/$(INTbin)/*)))
199 williamc 1.19 frealbins=$(addprefix $(LOCALTOP)/$(INTbin)/,$(realbins))
200 williamc 1.7 clean ::
201     @if [ "$(realbins)" != "" ] ; then \
202     echo Removing executables : $(realbins); \
203 williamc 1.19 rm $(frealbins); \
204 williamc 1.7 fi;
205 williamc 1.6
206 williamc 1.7 # -------------------------------------------------------------------------
207 williamc 1.1
208     # Some nice generic target names for the user
209    
210     shared : $(shlibname).$(SharedSuffix)
211     shared_debug : $(shlibname)_d.$(SharedSuffix)
212     archive : $(arlibname).$(ArchiveSuffix)
213     archive_debug : $(arlibname)_d.$(ArchiveSuffix)
214    
215     # Now more specific rules
216    
217     # -- Standard Shared Objects Libs
218 williamc 1.3 $(shlibname)_pic.$(SharedSuffix) : $(Ssharedlibobjs)
219 williamc 1.1 $(SharedCCTool)
220 williamc 1.3
221     $(shlibname).$(SharedSuffix) : $(shlibname)_pic.$(SharedSuffix)
222     @mv $< $(librarystore)/$@
223 williamc 1.1
224     # -- Debug Shared Objects Libs
225 williamc 1.3 $(shlibname)_picd.$(SharedSuffix) : $(Ssharedlibdebugobjs)
226 williamc 1.1 $(SharedCCTool)
227 williamc 1.3
228 williamc 1.4 $(shlibname)_d.$(SharedSuffix) : $(Ssharedlibdebugobjs)
229 williamc 1.3 @mv $< $(librarystore)/$@
230 williamc 1.1
231 williamc 1.12 # -- Insure Shared Objects Libs
232     $(shlibname)_picInsure.$(SharedSuffix) : $(SsharedlibInsureobjs)
233     $(SharedCCTool)
234    
235     $(shlibname)_Insure.$(SharedSuffix) : $(SsharedlibInsureobjs)
236     @mv $< $(librarystore)/$@
237    
238 williamc 1.1 # -- Standard Archive Libs
239     $(arlibname).$(ArchiveSuffix) : $(Sarchivelibobjs)
240     $(ArchiveCCTool)
241 williamc 1.8 @mv $@ $(librarystore)/$@
242 williamc 1.1
243     # -- Debug Archive Libs
244     $(arlibname)_d.$(ArchiveSuffix) : $(Sarchivelibdebugobjs)
245 williamc 1.12 $(ArchiveCCTool)
246     @mv $@ $(librarystore)/$@
247    
248     # -- Insure Archive libs
249     $(arlibname)_Insure.$(ArchiveSuffix) : $(SarchivelibInsureobjs)
250 williamc 1.1 $(ArchiveCCTool)
251 williamc 1.7 @mv $@ $(librarystore)/$@
252 williamc 1.2
253     # -- Dependencies
254     dependencies.mk: $(files)
255 williamc 1.19.2.1 @if [ "$<" != "" ]; then \
256     echo Generating Dependencies; \
257     $(DependencyCCTool); \
258     $(TOOL_HOME)/DependencyMangler $@; \
259     fi
260 williamc 1.14
261     %.dep:
262 williamc 1.2 @$(DependencyCCTool)
263     @$(TOOL_HOME)/DependencyMangler $@
264 williamc 1.17