author | Jan Vrany <jan.vrany@labware.com> |
Wed, 22 Mar 2023 13:57:18 +0000 | |
branch | jv |
changeset 25445 | 1623217d2268 |
parent 23324 | 1f8c02c6a747 |
permissions | -rw-r--r-- |
16681 | 1 |
" |
2 |
COPYRIGHT (c) 2014 by eXept Software AG |
|
3 |
All Rights Reserved |
|
4 |
||
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
12 |
"{ Package: 'stx:libbasic' }" |
|
13 |
||
19979 | 14 |
"{ NameSpace: Smalltalk }" |
15 |
||
16681 | 16 |
ProjectDefinition subclass:#FolderForProjectsDefinition |
17 |
instanceVariableNames:'' |
|
18 |
classVariableNames:'' |
|
19 |
poolDictionaries:'' |
|
20 |
category:'System-Support-Projects' |
|
21 |
! |
|
22 |
||
23 |
!FolderForProjectsDefinition class methodsFor:'documentation'! |
|
24 |
||
25 |
copyright |
|
26 |
" |
|
27 |
COPYRIGHT (c) 2014 by eXept Software AG |
|
28 |
All Rights Reserved |
|
29 |
||
30 |
This software is furnished under a license and may be used |
|
31 |
only in accordance with the terms of that license and with the |
|
32 |
inclusion of the above copyright notice. This software may not |
|
33 |
be provided or otherwise made available to, or used by, any |
|
34 |
other person. No title to or ownership of the software is |
|
35 |
hereby transferred. |
|
36 |
" |
|
37 |
! ! |
|
38 |
||
39 |
!FolderForProjectsDefinition class methodsFor:'code generation'! |
|
40 |
||
41 |
forEachContentsMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition |
|
42 |
"generate code for each contents-specifying method |
|
43 |
(classesAndAttributes, extensionMethodNames, etc.), |
|
44 |
and evaluate aTwoArgBlock on it, passing in the code and the method's category. |
|
45 |
If ignoreOldDefinition is true, new code is generated (class/method scan); |
|
46 |
otherwise, new items are added to the existing lists" |
|
47 |
||
48 |
"/ JV: No, subProjects **should not** be automatically generated. |
|
49 |
"/ Remember, they are not required to be loaded!! So, generate |
|
50 |
"/ subProjects only if there's no such method yet. |
|
51 |
(self class methodDictionary includesKey: #subProjects) ifFalse:[ |
|
52 |
aTwoArgBlock |
|
53 |
value: self subProjects_code |
|
54 |
value: 'description'. |
|
55 |
]. |
|
56 |
! |
|
57 |
||
58 |
forEachDescriptionMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition |
|
20568 | 59 |
"generate code for each description-specifying method" |
16681 | 60 |
|
61 |
"/ intentionally left blank |
|
62 |
! ! |
|
63 |
||
64 |
!FolderForProjectsDefinition class methodsFor:'description - project information'! |
|
65 |
||
66 |
productType |
|
67 |
"Returns the product type for autopackage" |
|
68 |
||
69 |
^ 'Folder' |
|
70 |
! ! |
|
71 |
||
72 |
!FolderForProjectsDefinition class methodsFor:'file templates'! |
|
73 |
||
74 |
bc_dot_mak |
|
75 |
"answer a template for the bc.mak makefile. |
|
76 |
Any variable definition %(Variable) will be later replaced by the mapping. |
|
77 |
$% characters have to be duplicated" |
|
78 |
||
79 |
^ |
|
80 |
'# $','Header','$ |
|
81 |
# |
|
82 |
# DO NOT EDIT |
|
83 |
# automagically generated from the projectDefinition: ',self name",' at ',Timestamp now printString",'. |
|
84 |
# |
|
85 |
# Warning: once you modify this file, do not rerun |
|
86 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
87 |
# |
|
88 |
# Notice, that the name bc.mak is historical (from times, when only borland c was supported). |
|
89 |
# This file contains make rules for the win32 platform using either borland-bcc or visual-c. |
|
90 |
# It shares common definitions with the unix-make in Make.spec. |
|
91 |
# The bc.mak supports the following targets: |
|
92 |
# bmake - compile all st-files to a classLib (dll) |
|
93 |
# bmake clean - clean all temp files |
|
94 |
# bmake clobber - clean all |
|
95 |
# |
|
96 |
# Historic Note: |
|
97 |
# this used to contain only rules to make with borland |
|
98 |
# (called via bmake, by "make.exe -f bc.mak") |
|
99 |
# this has changed; it is now also possible to build using microsoft visual c |
|
100 |
# (called via vcmake, by "make.exe -f bc.mak -DUSEVC") |
|
101 |
# |
|
102 |
TOP=%(TOP) |
|
17040
6d4341530f00
class: FolderForProjectsDefinition
Claus Gittinger <cg@exept.de>
parents:
16681
diff
changeset
|
103 |
MODULE_PATH=%(MODULE_PATH) |
16681 | 104 |
INCLUDE_TOP=$(TOP)\.. |
105 |
||
106 |
!!INCLUDE $(TOP)\rules\stdHeader_bc |
|
107 |
||
108 |
!!INCLUDE Make.spec |
|
109 |
||
110 |
%(ADDITIONAL_DEFINITIONS) |
|
111 |
||
112 |
OBJS= |
|
113 |
||
114 |
ALL:: %(ADDITIONAL_TARGETS) |
|
115 |
||
116 |
!!INCLUDE $(TOP)\rules\stdRules_bc |
|
117 |
||
118 |
# build all mandatory prerequisite packages (containing superclasses) for this package |
|
119 |
prereq: |
|
120 |
%(MAKE_PREREQUISITES) |
|
121 |
||
122 |
||
123 |
%(ADDITIONAL_RULES) |
|
124 |
||
125 |
%(ADDITIONAL_HEADERRULES) |
|
126 |
||
23324
1f8c02c6a747
Issue #238: remove `\NUL` from diretory targets
Patrik Svestka <patrik.svestka@gmail.com>
parents:
20568
diff
changeset
|
127 |
test: $(TOP)\goodies\builder\reports |
16681 | 128 |
pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT) |
129 |
$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE) |
|
130 |
||
131 |
clean:: |
|
19979 | 132 |
-del *.$(CSUFFIX) |
16681 | 133 |
|
134 |
%(ADDITIONAL_RULES_HG)' |
|
135 |
! |
|
136 |
||
137 |
make_dot_proto |
|
138 |
||
139 |
^ |
|
140 |
'# $','Header','$ |
|
141 |
# |
|
142 |
# DO NOT EDIT |
|
143 |
# automagically generated from the projectDefinition: ',self name",' at ',Timestamp now printString",'. |
|
144 |
# |
|
145 |
# Warning: once you modify this file, do not rerun |
|
146 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
147 |
# |
|
148 |
# The Makefile as generated by this Make.proto supports the following targets: |
|
149 |
# make - compile all st-files to a classLib |
|
150 |
# make clean - clean all temp files |
|
151 |
# make clobber - clean all |
|
152 |
# |
|
153 |
# This file contains definitions for Unix based platforms. |
|
154 |
# It shares common definitions with the win32-make in Make.spec. |
|
155 |
||
156 |
# |
|
157 |
# position (of this package) in directory hierarchy: |
|
158 |
# (must point to ST/X top directory, for tools and includes) |
|
159 |
TOP=%(TOP) |
|
160 |
INCLUDE_TOP=$(TOP)/.. |
|
161 |
||
162 |
# subdirectories where targets are to be made: |
|
163 |
SUBDIRS=%(SUBDIRECTORIES) |
|
164 |
||
165 |
||
166 |
# subdirectories where Makefiles are to be made: |
|
167 |
# (only define if different from SUBDIRS) |
|
168 |
# ALLSUBDIRS= |
|
169 |
||
170 |
REQUIRED_SUPPORT_DIRS=%(REQUIRED_SUPPORT_DIRS) |
|
171 |
||
172 |
# ********** OPTIONAL: MODIFY the next line *** |
|
173 |
# additional C targets or libraries should be added below |
|
174 |
LOCAL_EXTRA_TARGETS= |
|
175 |
||
176 |
OBJS= |
|
177 |
||
178 |
%(ADDITIONAL_DEFINITIONS) |
|
179 |
||
180 |
all:: preMake %(PRIMARY_TARGET) postMake |
|
181 |
||
182 |
pre_objs:: %(ADDITIONAL_TARGETS) %(ADDITIONAL_TARGETS_SVN) |
|
183 |
||
184 |
%(ADDITIONAL_RULES) |
|
185 |
||
186 |
%(ADDITIONAL_RULES_SVN) |
|
187 |
||
188 |
%(ADDITIONAL_RULES_HG) |
|
189 |
||
190 |
%(ADDITIONAL_HEADERRULES) |
|
191 |
||
192 |
# run default testsuite for this package |
|
193 |
test: $(TOP)/goodies/builder/reports |
|
194 |
$(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init |
|
195 |
$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE) |
|
196 |
||
197 |
||
198 |
||
199 |
# add more install actions here |
|
200 |
install:: |
|
201 |
||
202 |
# add more install actions for aux-files (resources) here |
|
203 |
installAux:: |
|
204 |
||
205 |
# add more preMake actions here |
|
206 |
preMake:: |
|
207 |
||
208 |
# add more postMake actions here |
|
209 |
postMake:: cleanjunk |
|
210 |
||
211 |
# build all mandatory prerequisite packages (containing superclasses) for this package |
|
212 |
prereq: |
|
213 |
%(MAKE_PREREQUISITES) |
|
214 |
||
215 |
# build all packages containing referenced classes for this package |
|
17230 | 216 |
# they are not needed to compile the package (but later, to load it) |
16681 | 217 |
references: |
218 |
%(MAKE_REFERENCES) |
|
219 |
||
220 |
cleanjunk:: |
|
221 |
%(TAB)-rm -f *.s *.s2 |
|
222 |
||
223 |
clean:: |
|
224 |
%(TAB)-rm -f *.o *.H |
|
225 |
||
226 |
clobber:: clean |
|
227 |
%(TAB)-rm -f *.so *.dll |
|
228 |
||
229 |
', |
|
230 |
" |
|
231 |
$(INSTALLBASE):: |
|
232 |
%(TAB)@test -d $@ || mkdir $@ |
|
233 |
||
234 |
$(INSTALLBASE)/packages:: $(INSTALLBASE) |
|
235 |
%(TAB)@test -d $@ || mkdir $@ |
|
236 |
||
237 |
$(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages |
|
238 |
%(TAB)@test -d $@ || mkdir $@ |
|
239 |
||
240 |
$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE) |
|
241 |
%(TAB)@test -d $@ || mkdir $@ |
|
242 |
" |
|
243 |
' |
|
244 |
' |
|
245 |
! |
|
246 |
||
247 |
make_dot_spec |
|
248 |
||
249 |
^ |
|
250 |
'# $','Header','$ |
|
251 |
# |
|
252 |
# DO NOT EDIT |
|
253 |
# automagically generated from the projectDefinition: ',self name,"' at ',Timestamp now printString,"'. |
|
254 |
# |
|
255 |
# Warning: once you modify this file, do not rerun |
|
256 |
# stmkmp or projectDefinition-build again - otherwise, your changes are lost. |
|
257 |
# |
|
258 |
# This file contains specifications which are common to all platforms. |
|
259 |
# |
|
260 |
||
261 |
# Do NOT CHANGE THESE DEFINITIONS |
|
262 |
# (otherwise, ST/X will have a hard time to find out the packages location from its packageID, |
|
263 |
# to find the source code of a class and to find the library for a package) |
|
264 |
MODULE=%(MODULE) |
|
265 |
MODULE_DIR=%(MODULE_DIRECTORY) |
|
266 |
PACKAGE=$(MODULE):$(MODULE_DIR) |
|
267 |
' |
|
268 |
! ! |
|
269 |
||
270 |
!FolderForProjectsDefinition class methodsFor:'queries'! |
|
271 |
||
272 |
isAbstract |
|
273 |
^ self == FolderForProjectsDefinition |
|
274 |
! |
|
275 |
||
276 |
isFolderForProjectsDefinition |
|
277 |
^ self isAbstract not |
|
278 |
! |
|
279 |
||
280 |
projectType |
|
281 |
^ FolderForSubApplicationsType |
|
282 |
! ! |
|
283 |
||
284 |
!FolderForProjectsDefinition class methodsFor:'documentation'! |
|
285 |
||
286 |
version |
|
19979 | 287 |
^ '$Header$' |
16681 | 288 |
! |
289 |
||
290 |
version_CVS |
|
19979 | 291 |
^ '$Header$' |
16681 | 292 |
! ! |
293 |