repository for Asume
Revision | 37f21359ae8dd89b4ccc35f2cd4c28ba601cce92 (tree) |
---|---|
Time | 2018-04-27 18:39:00 |
Author | Patrik Svestka <patrik.svestka@gmai...> |
Commiter | Patrik Svestka |
Initial application commit
@@ -0,0 +1,16 @@ | ||
1 | + | |
2 | +syntax: glob | |
3 | +*Init.c | |
4 | +makefile | |
5 | +*.so | |
6 | +*.H | |
7 | +*.o | |
8 | +*.STH | |
9 | +*.sc | |
10 | +objbc | |
11 | +objvc | |
12 | +*.class | |
13 | +java/libs/*.jar | |
14 | +java/libs-src/*.jar | |
15 | +*-Test.xml | |
16 | +st.chg |
@@ -0,0 +1,424 @@ | ||
1 | +# $Header$ | |
2 | +# | |
3 | +# automagically generated from the projectDefinition: ps_salamander_menueditor. | |
4 | +# | |
5 | +# -------------- no need to change anything below ---------- | |
6 | +# | |
7 | +# This makefile generates some standalone demo applications | |
8 | +# | |
9 | +# make | |
10 | +# generates salamander_menueditor | |
11 | +# | |
12 | + | |
13 | +TOP=../../stx | |
14 | +INCLUDE_TOP=$(TOP)/.. | |
15 | + | |
16 | +# set to a dummy file name (like FORCE=@@@FORCE-BUILD@@@) to force the build of prereq packages | |
17 | +FORCE= | |
18 | +.PHONY: $(FORCE) | |
19 | + | |
20 | +PACKAGE=ps:salamander_menueditor | |
21 | +SUBDIRS= | |
22 | +SUPPRESS_LOCAL_ABBREVS="yes" | |
23 | +NOAUTOLOAD=1 | |
24 | +NOSUBAUTOLOAD=1 | |
25 | + | |
26 | +LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libview2 | |
27 | +LOCALDEFINES= | |
28 | +GLOBALDEFINES= | |
29 | +MAIN_DEFINES=-DIGNORE_IMAGE -DNO_DISPLAY | |
30 | + | |
31 | +RCSSOURCES=Make.proto *.st | |
32 | +LINKSOURCES=Make.proto *.st | |
33 | + | |
34 | +DELIVERBINARIES= | |
35 | + | |
36 | +APPNAME=libps_salamander_menueditor | |
37 | +LIBNAME=libps_salamander_menueditor | |
38 | +STCLOCALOPT='-package=$(PACKAGE)' -I. -headerDir=. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=. -varPrefix=$(LIBNAME) | |
39 | + | |
40 | + | |
41 | +# ********** OPTIONAL: MODIFY the next line *** | |
42 | +# additional C-libraries that should be pre-linked with the class-objects | |
43 | +LD_OBJ_LIBS= | |
44 | +LOCAL_SHARED_LIBS= | |
45 | + | |
46 | + | |
47 | +# ********** OPTIONAL: MODIFY the next line *** | |
48 | +# additional C targets or libraries should be added below | |
49 | +LOCAL_EXTRA_TARGETS= | |
50 | + | |
51 | +OBJS= $(COMMON_OBJS) $(UNIX_OBJS) | |
52 | + | |
53 | + | |
54 | + | |
55 | + | |
56 | + | |
57 | +LIBLIST = $(REQUIRED_LIBS) | |
58 | + | |
59 | +# required libs: | |
60 | +# | |
61 | + | |
62 | +REQUIRED_LIBS= libstx_libbasic \ | |
63 | + libstx_libbasic2 \ | |
64 | + libstx_libcomp \ | |
65 | + libstx_libbasic3 \ | |
66 | + libstx_libview \ | |
67 | + libstx_libui \ | |
68 | + libstx_libview2 \ | |
69 | + libstx_libwidg \ | |
70 | + libstx_libwidg2 \ | |
71 | + | |
72 | + | |
73 | +REQUIRED_LIBOBJS= $(TOP)/libbasic/libstx_libbasic$(O_EXT) \ | |
74 | + $(TOP)/libbasic2/libstx_libbasic2$(O_EXT) \ | |
75 | + $(TOP)/libcomp/libstx_libcomp$(O_EXT) \ | |
76 | + $(TOP)/libbasic3/libstx_libbasic3$(O_EXT) \ | |
77 | + $(TOP)/libview/libstx_libview$(O_EXT) \ | |
78 | + $(TOP)/libui/libstx_libui$(O_EXT) \ | |
79 | + $(TOP)/libview2/libstx_libview2$(O_EXT) \ | |
80 | + $(TOP)/libwidg/libstx_libwidg$(O_EXT) \ | |
81 | + $(TOP)/libwidg2/libstx_libwidg2$(O_EXT) \ | |
82 | + | |
83 | + | |
84 | +REQUIRED_LINK_LIBOBJS= libstx_libbasic$(O_EXT) \ | |
85 | + libstx_libbasic2$(O_EXT) \ | |
86 | + libstx_libcomp$(O_EXT) \ | |
87 | + libstx_libbasic3$(O_EXT) \ | |
88 | + libstx_libview$(O_EXT) \ | |
89 | + libstx_libui$(O_EXT) \ | |
90 | + libstx_libview2$(O_EXT) \ | |
91 | + libstx_libwidg$(O_EXT) \ | |
92 | + libstx_libwidg2$(O_EXT) \ | |
93 | + | |
94 | + | |
95 | +REQUIRED_SUPPORT_DIRS=RESOURCEFILES | |
96 | + | |
97 | +SUBPROJECT_LIBS= | |
98 | + | |
99 | + | |
100 | +target: ALL | |
101 | + | |
102 | +all:: prereq ALL_NP | |
103 | + | |
104 | +# like ALL, but not prereqs | |
105 | +ALL_NP:: exe subProjects $(REQUIRED_SUPPORT_DIRS) $(SETUP_RULE) | |
106 | + | |
107 | +exe: salamander_menueditor registerApplication | |
108 | + | |
109 | +salamander_menueditor: $(APP_DIRS_TO_MAKE) $(APP_LIBOBJS) $(REQUIRED_LIBOBJS) $(OBJS) | |
110 | + $(MAKE) link_salamander_menueditor | |
111 | + | |
112 | + | |
113 | +link_salamander_menueditor: | |
114 | + $(MAKE) GUI_APPLICATION \ | |
115 | + TARGET=salamander_menueditor \ | |
116 | + APPLICATION_CLASSES="$(COMMON_CLASSES) $(UNIX_CLASSES)" \ | |
117 | + APPLICATION_OBJS="$(OBJS)" \ | |
118 | + APPLICATION_LIBLIST="$(REQUIRED_LIBS)" \ | |
119 | + APPLICATION_LIBOBJS="$(REQUIRED_LIBOBJS)" \ | |
120 | + APPLICATION_LINK_LIBOBJS="$(REQUIRED_LINK_LIBOBJS)" \ | |
121 | + STARTUP_CLASS="SalamanderMenuEditorStart" \ | |
122 | + STARTUP_SELECTOR="start" \ | |
123 | + MAIN_DEFINES="-DIGNORE_IMAGE -DNO_DISPLAY" | |
124 | + | |
125 | +# build all mandatory prerequisite packages (containing superclasses) for this package | |
126 | +prereq: | |
127 | + $(MAKE) FORCE=@@@FORCE-BUILD@@@ makePrereq | |
128 | + | |
129 | +makePrereq: $(REQUIRED_LIBOBJS) | |
130 | + | |
131 | +subProjects: | |
132 | + $(MAKE) FORCE=@@@FORCE-BUILD@@@ makeSubProjects | |
133 | + | |
134 | +makeSubProjects: $(SUBPROJECT_LIBS) | |
135 | + @echo "sub-projects made" | |
136 | + | |
137 | +# | |
138 | +# a self installable delivery | |
139 | +# | |
140 | + | |
141 | +# | |
142 | +# for linux, this uses autopackage | |
143 | +# (SETUP_RULE is set to setup_linux) | |
144 | +setup_linux: | |
145 | + @if test -d autopackage; then \ | |
146 | + if which autopackage; then \ | |
147 | + makepackage; \ | |
148 | + else \ | |
149 | + echo "Warning: autopackage not found, installer NOT created"; \ | |
150 | + fi \ | |
151 | + else \ | |
152 | + echo "Error: missing autopackage directory"; \ | |
153 | + exit 1; \ | |
154 | + fi | |
155 | + | |
156 | +# backward compatible fallback | |
157 | +setup:: | |
158 | + @if test -d autopackage; then \ | |
159 | + if which autopackage; then \ | |
160 | + makepackage; \ | |
161 | + else \ | |
162 | + echo "Warning: autopackage not found, installer NOT created"; \ | |
163 | + fi \ | |
164 | + else \ | |
165 | + echo "Error: make setup not yet available in this unix"; \ | |
166 | + exit 1; \ | |
167 | + fi | |
168 | + | |
169 | + | |
170 | +# | |
171 | +# for mac, a dmg is generated | |
172 | +# (SETUP_RULE is set to setup_macosx) | |
173 | +# | |
174 | +setup_macosx: "ProductName_dmg" | |
175 | + -rm "ProductName.dmg" | |
176 | + hdiutil create -fs HFSX -layout SPUD "ProductName.dmg" -srcfolder "ProductName_dmg" -format UDZO -volname "ProductName" -quiet | |
177 | + | |
178 | +app: "ProductName_dmg" | |
179 | + | |
180 | +"ProductName_dmg": $(SUBPROJECT_LIBS) $(REQUIRED_SUPPORT_DIRS) | |
181 | + @-rm -rf "ProductName_dmg" | |
182 | + @-mkdir "ProductName_dmg" | |
183 | + @-mkdir "ProductName_dmg/ProductName.app" | |
184 | + @-mkdir "ProductName_dmg/ProductName.app/Contents" | |
185 | + @-mkdir "ProductName_dmg/ProductName.app/Contents/MacOS" | |
186 | + cp "salamander_menueditor" "ProductName_dmg/ProductName.app/Contents/MacOS/" | |
187 | + @-cp osx/Info.plist "ProductName_dmg/ProductName.app/Contents/" | |
188 | + @-mkdir "ProductName_dmg/ProductName.app/Contents/MacOS/." | |
189 | + -cp -r *.so "ProductName_dmg/ProductName.app/Contents/MacOS/." | |
190 | + -cp -r symbols.stc "ProductName_dmg/ProductName.app/Contents/MacOS/." | |
191 | + -cp -r *.stx "ProductName_dmg/ProductName.app/Contents/MacOS/." | |
192 | + -cp -r *.rc "ProductName_dmg/ProductName.app/Contents/MacOS/." | |
193 | + -cp -r resources "ProductName_dmg/ProductName.app/Contents/MacOS/." | |
194 | + @-rm "ProductName_dmg/ProductName.app/Contents/MacOS/"*WINrc.rc | |
195 | + | |
196 | + | |
197 | + | |
198 | +SOURCEFILES: salamander_menueditor_SOURCES \ | |
199 | + stx_SOURCES | |
200 | + | |
201 | + | |
202 | + | |
203 | + | |
204 | +RESOURCEFILES: salamander_menueditor_RESOURCES salamander_menueditor_BITMAPS \ | |
205 | + stx_RESOURCES stx_STYLES stx_BITMAPS | |
206 | + | |
207 | + | |
208 | +salamander_menueditor_RESOURCES: | |
209 | + mkdir -p resources/ps/salamander_menueditor | |
210 | + -cp ../resources/*.rs ../resources/*.style resources/ps/salamander_menueditor/.. | |
211 | + | |
212 | +salamander_menueditor_BITMAPS: | |
213 | + mkdir -p resources/ps/salamander_menueditor/bitmaps | |
214 | + -cp *.ico *.gif *.png resources/ps/salamander_menueditor/bitmaps | |
215 | + | |
216 | + | |
217 | + | |
218 | +stx_RESOURCES: \ | |
219 | + keyboard.rc \ | |
220 | + keyboardMacros.rc \ | |
221 | + display.rc \ | |
222 | + libbasic_RESOURCES \ | |
223 | + libview_RESOURCES \ | |
224 | + libtool_RESOURCES \ | |
225 | + libtool2_RESOURCES | |
226 | + | |
227 | +keyboard.rc: $(TOP)/projects/smalltalk/keyboard.rc | |
228 | + cp $(TOP)/projects/smalltalk/keyboard.rc . | |
229 | + | |
230 | +keyboardMacros.rc: $(TOP)/projects/smalltalk/keyboardMacros.rc | |
231 | + cp $(TOP)/projects/smalltalk/keyboardMacros.rc . | |
232 | + | |
233 | +display.rc: $(TOP)/projects/smalltalk/display.rc | |
234 | + cp $(TOP)/projects/smalltalk/display.rc . | |
235 | + | |
236 | +stx_STYLES: | |
237 | + mkdir -p resources/stx/libview | |
238 | + mkdir -p resources/stx/libview/styles | |
239 | + cp $(TOP)/libview/styles/*.common resources/stx/libview/styles | |
240 | + cp $(TOP)/libview/styles/*.style resources/stx/libview/styles | |
241 | + | |
242 | +stx_BITMAPS: \ | |
243 | + libwidg_BITMAPS | |
244 | + | |
245 | +libwidg_BITMAPS: | |
246 | + mkdir -p resources/stx/libwidg/bitmaps | |
247 | + -cp $(TOP)/libwidg/bitmaps/*.* resources/stx/libwidg/bitmaps | |
248 | + | |
249 | +libbasic_RESOURCES: | |
250 | + mkdir -p resources/stx/libbasic | |
251 | + -cp $(TOP)/libbasic/resources/*.* resources/stx/libbasic | |
252 | + | |
253 | +libtool_RESOURCES: | |
254 | + mkdir -p resources/stx/libtool | |
255 | + -cp $(TOP)/libtool/resources/*.* resources/stx/libtool | |
256 | + | |
257 | +libtool2_RESOURCES: | |
258 | + mkdir -p resources/stx/libtool2 | |
259 | + -cp $(TOP)/libtool2/resources/*.* resources/stx/libtool2 | |
260 | + | |
261 | +libview_RESOURCES: | |
262 | + mkdir -p resources/stx/libview | |
263 | + -cp $(TOP)/libview/resources/*.* resources/stx/libview | |
264 | + | |
265 | +libview2_RESOURCES: | |
266 | + mkdir -p resources/stx/libview2 | |
267 | + -cp $(TOP)/libview2/resources/*.* resources/stx/libview2 | |
268 | + | |
269 | +bitmaps: | |
270 | + mkdir -p bitmaps | |
271 | + | |
272 | +doc: | |
273 | + mkdir -p doc | |
274 | + | |
275 | + | |
276 | + | |
277 | +libstx_libbasic.so: $(TOP)/libbasic/libstx_libbasic.so | |
278 | + ln -sf $(TOP)/libbasic/libstx_libbasic.so . | |
279 | + | |
280 | +$(TOP)/libbasic/libstx_libbasic.so: $(TOP)/libbasic/makefile $(FORCE) | |
281 | + @if [ -f "$(TOP)/libbasic/.NOSOURCE" ]; then \ | |
282 | + echo "skip make in $(TOP)/libbasic (no source)"; \ | |
283 | + else \ | |
284 | + cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
285 | + fi | |
286 | + | |
287 | +$(TOP)/libbasic/makefile: $(TOP)/libbasic/Make.proto | |
288 | + $(TOP)/rules/stmkmf --cd $(TOP)/libbasic | |
289 | + | |
290 | +libstx_libbasic2.so: $(TOP)/libbasic2/libstx_libbasic2.so | |
291 | + ln -sf $(TOP)/libbasic2/libstx_libbasic2.so . | |
292 | + | |
293 | +$(TOP)/libbasic2/libstx_libbasic2.so: $(TOP)/libbasic2/makefile $(FORCE) | |
294 | + @if [ -f "$(TOP)/libbasic2/.NOSOURCE" ]; then \ | |
295 | + echo "skip make in $(TOP)/libbasic2 (no source)"; \ | |
296 | + else \ | |
297 | + cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
298 | + fi | |
299 | + | |
300 | +$(TOP)/libbasic2/makefile: $(TOP)/libbasic2/Make.proto | |
301 | + $(TOP)/rules/stmkmf --cd $(TOP)/libbasic2 | |
302 | + | |
303 | +libstx_libcomp.so: $(TOP)/libcomp/libstx_libcomp.so | |
304 | + ln -sf $(TOP)/libcomp/libstx_libcomp.so . | |
305 | + | |
306 | +$(TOP)/libcomp/libstx_libcomp.so: $(TOP)/libcomp/makefile $(FORCE) | |
307 | + @if [ -f "$(TOP)/libcomp/.NOSOURCE" ]; then \ | |
308 | + echo "skip make in $(TOP)/libcomp (no source)"; \ | |
309 | + else \ | |
310 | + cd $(TOP)/libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
311 | + fi | |
312 | + | |
313 | +$(TOP)/libcomp/makefile: $(TOP)/libcomp/Make.proto | |
314 | + $(TOP)/rules/stmkmf --cd $(TOP)/libcomp | |
315 | + | |
316 | +libstx_libbasic3.so: $(TOP)/libbasic3/libstx_libbasic3.so | |
317 | + ln -sf $(TOP)/libbasic3/libstx_libbasic3.so . | |
318 | + | |
319 | +$(TOP)/libbasic3/libstx_libbasic3.so: $(TOP)/libbasic3/makefile $(FORCE) | |
320 | + @if [ -f "$(TOP)/libbasic3/.NOSOURCE" ]; then \ | |
321 | + echo "skip make in $(TOP)/libbasic3 (no source)"; \ | |
322 | + else \ | |
323 | + cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
324 | + fi | |
325 | + | |
326 | +$(TOP)/libbasic3/makefile: $(TOP)/libbasic3/Make.proto | |
327 | + $(TOP)/rules/stmkmf --cd $(TOP)/libbasic3 | |
328 | + | |
329 | +libstx_libview.so: $(TOP)/libview/libstx_libview.so | |
330 | + ln -sf $(TOP)/libview/libstx_libview.so . | |
331 | + | |
332 | +$(TOP)/libview/libstx_libview.so: $(TOP)/libview/makefile $(FORCE) | |
333 | + @if [ -f "$(TOP)/libview/.NOSOURCE" ]; then \ | |
334 | + echo "skip make in $(TOP)/libview (no source)"; \ | |
335 | + else \ | |
336 | + cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
337 | + fi | |
338 | + | |
339 | +$(TOP)/libview/makefile: $(TOP)/libview/Make.proto | |
340 | + $(TOP)/rules/stmkmf --cd $(TOP)/libview | |
341 | + | |
342 | +libstx_libui.so: $(TOP)/libui/libstx_libui.so | |
343 | + ln -sf $(TOP)/libui/libstx_libui.so . | |
344 | + | |
345 | +$(TOP)/libui/libstx_libui.so: $(TOP)/libui/makefile $(FORCE) | |
346 | + @if [ -f "$(TOP)/libui/.NOSOURCE" ]; then \ | |
347 | + echo "skip make in $(TOP)/libui (no source)"; \ | |
348 | + else \ | |
349 | + cd $(TOP)/libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
350 | + fi | |
351 | + | |
352 | +$(TOP)/libui/makefile: $(TOP)/libui/Make.proto | |
353 | + $(TOP)/rules/stmkmf --cd $(TOP)/libui | |
354 | + | |
355 | +libstx_libview2.so: $(TOP)/libview2/libstx_libview2.so | |
356 | + ln -sf $(TOP)/libview2/libstx_libview2.so . | |
357 | + | |
358 | +$(TOP)/libview2/libstx_libview2.so: $(TOP)/libview2/makefile $(FORCE) | |
359 | + @if [ -f "$(TOP)/libview2/.NOSOURCE" ]; then \ | |
360 | + echo "skip make in $(TOP)/libview2 (no source)"; \ | |
361 | + else \ | |
362 | + cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
363 | + fi | |
364 | + | |
365 | +$(TOP)/libview2/makefile: $(TOP)/libview2/Make.proto | |
366 | + $(TOP)/rules/stmkmf --cd $(TOP)/libview2 | |
367 | + | |
368 | +libstx_libwidg.so: $(TOP)/libwidg/libstx_libwidg.so | |
369 | + ln -sf $(TOP)/libwidg/libstx_libwidg.so . | |
370 | + | |
371 | +$(TOP)/libwidg/libstx_libwidg.so: $(TOP)/libwidg/makefile $(FORCE) | |
372 | + @if [ -f "$(TOP)/libwidg/.NOSOURCE" ]; then \ | |
373 | + echo "skip make in $(TOP)/libwidg (no source)"; \ | |
374 | + else \ | |
375 | + cd $(TOP)/libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
376 | + fi | |
377 | + | |
378 | +$(TOP)/libwidg/makefile: $(TOP)/libwidg/Make.proto | |
379 | + $(TOP)/rules/stmkmf --cd $(TOP)/libwidg | |
380 | + | |
381 | +libstx_libwidg2.so: $(TOP)/libwidg2/libstx_libwidg2.so | |
382 | + ln -sf $(TOP)/libwidg2/libstx_libwidg2.so . | |
383 | + | |
384 | +$(TOP)/libwidg2/libstx_libwidg2.so: $(TOP)/libwidg2/makefile $(FORCE) | |
385 | + @if [ -f "$(TOP)/libwidg2/.NOSOURCE" ]; then \ | |
386 | + echo "skip make in $(TOP)/libwidg2 (no source)"; \ | |
387 | + else \ | |
388 | + cd $(TOP)/libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \ | |
389 | + fi | |
390 | + | |
391 | +$(TOP)/libwidg2/makefile: $(TOP)/libwidg2/Make.proto | |
392 | + $(TOP)/rules/stmkmf --cd $(TOP)/libwidg2 | |
393 | + | |
394 | + | |
395 | + | |
396 | + | |
397 | + | |
398 | + | |
399 | + | |
400 | + | |
401 | + | |
402 | + | |
403 | +# Enforce recompilation of package definition class if Mercurial working | |
404 | +# copy state changes. Together with --guessVersion it ensures that package | |
405 | +# definition class always contains correct binary revision string. | |
406 | +ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**')) | |
407 | +ps_salamander_menueditor.$(O): $(shell hg root)/.hg/dirstate | |
408 | +endif | |
409 | + | |
410 | + | |
411 | + | |
412 | + | |
413 | +clean:: | |
414 | + -rm -f *.so salamander_menueditor.$(O) | |
415 | + | |
416 | +clobber:: clean | |
417 | + -rm -f salamander_menueditor *.img *.sav | |
418 | + | |
419 | +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it | |
420 | +$(OUTDIR)SalamanderMenuEditor.$(O) SalamanderMenuEditor.$(C) SalamanderMenuEditor.$(H): SalamanderMenuEditor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR) | |
421 | +$(OUTDIR)SalamanderMenuEditorStart.$(O) SalamanderMenuEditorStart.$(C) SalamanderMenuEditorStart.$(H): SalamanderMenuEditorStart.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(STCHDR) | |
422 | +$(OUTDIR)ps_salamander_menueditor.$(O) ps_salamander_menueditor.$(C) ps_salamander_menueditor.$(H): ps_salamander_menueditor.st $(INCLUDE_TOP)/stx/libbasic/ApplicationDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR) | |
423 | + | |
424 | +# ENDMAKEDEPEND --- do not remove this line |
@@ -0,0 +1,67 @@ | ||
1 | +# $Header$ | |
2 | +# | |
3 | +# DO NOT EDIT | |
4 | +# automagically generated from the projectDefinition: ps_salamander_menueditor. | |
5 | +# | |
6 | +# Warning: once you modify this file, do not rerun | |
7 | +# stmkmp or projectDefinition-build again - otherwise, your changes are lost. | |
8 | +# | |
9 | +# This file contains specifications which are common to all platforms. | |
10 | +# | |
11 | + | |
12 | +# Do NOT CHANGE THESE DEFINITIONS | |
13 | +# (otherwise, ST/X will have a hard time to find out the packages location from its packageID, | |
14 | +# to find the source code of a class and to find the library for a package) | |
15 | +MODULE=ps | |
16 | +MODULE_DIR=salamander_menueditor | |
17 | +PACKAGE=$(MODULE):$(MODULE_DIR) | |
18 | + | |
19 | + | |
20 | +# Argument(s) to the stc compiler (stc --usage). | |
21 | +# -headerDir=. : create header files locally | |
22 | +# (if removed, they will be created as common | |
23 | +# -Pxxx : defines the package | |
24 | +# -Zxxx : a prefix for variables within the classLib | |
25 | +# -Dxxx : defines passed to CC for inline C-code | |
26 | +# -Ixxx : include path passed to CC for inline C-code | |
27 | +# +optspace : optimized for space | |
28 | +# +optspace2 : optimized more for space | |
29 | +# +optspace3 : optimized even more for space | |
30 | +# +optinline : generate inline code for some ST constructs | |
31 | +# +inlineNew : additionally inline new | |
32 | +# +inlineMath : additionally inline some floatPnt math stuff | |
33 | +# | |
34 | +# ********** OPTIONAL: MODIFY the next line(s) *** | |
35 | +# STCLOCALOPTIMIZATIONS=+optinline +inlineNew | |
36 | +# STCLOCALOPTIMIZATIONS=+optspace3 | |
37 | +STCLOCALOPTIMIZATIONS=+optspace3 | |
38 | + | |
39 | + | |
40 | +# Argument(s) to the stc compiler (stc --usage). | |
41 | +# -warn : no warnings | |
42 | +# -warnNonStandard : no warnings about ST/X extensions | |
43 | +# -warnEOLComments : no warnings about EOL comment extension | |
44 | +# -warnPrivacy : no warnings about privateClass extension | |
45 | +# -warnUnused : no warnings about unused variables | |
46 | +# | |
47 | +# ********** OPTIONAL: MODIFY the next line(s) *** | |
48 | +# STCWARNINGS=-warn | |
49 | +# STCWARNINGS=-warnNonStandard | |
50 | +# STCWARNINGS=-warnEOLComments | |
51 | +STCWARNINGS=-warnNonStandard | |
52 | + | |
53 | +COMMON_CLASSES= \ | |
54 | + SalamanderMenuEditor \ | |
55 | + SalamanderMenuEditorStart \ | |
56 | + ps_salamander_menueditor \ | |
57 | + | |
58 | + | |
59 | + | |
60 | + | |
61 | +COMMON_OBJS= \ | |
62 | + $(OUTDIR)SalamanderMenuEditor.$(O) \ | |
63 | + $(OUTDIR)SalamanderMenuEditorStart.$(O) \ | |
64 | + $(OUTDIR)ps_salamander_menueditor.$(O) \ | |
65 | + | |
66 | + | |
67 | + |
@@ -0,0 +1,27 @@ | ||
1 | +# | |
2 | +# DO NOT EDIT | |
3 | +# | |
4 | +# make uses this file (Makefile) only, if there is no | |
5 | +# file named "makefile" (lower-case m) in the same directory. | |
6 | +# My only task is to generate the real makefile and call make again. | |
7 | +# Thereafter, I am no longer used and needed. | |
8 | +# | |
9 | +# MACOSX caveat: | |
10 | +# as filenames are not case sensitive (in a default setup), | |
11 | +# we cannot use the above trick. Therefore, this file is now named | |
12 | +# "Makefile.init", and you have to execute "make -f Makefile.init" to | |
13 | +# get the initial makefile. This is now also done by the toplevel CONFIG | |
14 | +# script. | |
15 | + | |
16 | +.PHONY: run | |
17 | + | |
18 | +run: makefile | |
19 | + $(MAKE) -f makefile | |
20 | + | |
21 | +#only needed for the definition of $(TOP) | |
22 | +include Make.proto | |
23 | + | |
24 | +makefile: mf | |
25 | + | |
26 | +mf: | |
27 | + $(TOP)/rules/stmkmf |
@@ -0,0 +1,272 @@ | ||
1 | +"{ Package: 'ps:salamander_menueditor' }" | |
2 | + | |
3 | +"{ NameSpace: Smalltalk }" | |
4 | + | |
5 | +ApplicationModel subclass:#SalamanderMenuEditor | |
6 | + instanceVariableNames:'' | |
7 | + classVariableNames:'' | |
8 | + poolDictionaries:'' | |
9 | + category:'ps-salamander-menueditor' | |
10 | +! | |
11 | + | |
12 | +!SalamanderMenuEditor class methodsFor:'interface specs'! | |
13 | + | |
14 | +windowSpec | |
15 | + "This resource specification was automatically generated | |
16 | + by the UIPainter of ST/X." | |
17 | + | |
18 | + "Do not manually edit this!! If it is corrupted, | |
19 | + the UIPainter may not be able to read the specification." | |
20 | + | |
21 | + " | |
22 | + UIPainter new openOnClass:SalamanderMenuEditor andSelector:#windowSpec | |
23 | + SalamanderMenuEditor new openInterface:#windowSpec | |
24 | + SalamanderMenuEditor open | |
25 | + " | |
26 | + | |
27 | + <resource: #canvas> | |
28 | + | |
29 | + ^ | |
30 | + #(FullSpec | |
31 | + name: windowSpec | |
32 | + uuid: 'df901610-49f4-11e8-b00c-00ffb04bc811' | |
33 | + window: | |
34 | + (WindowSpec | |
35 | + label: 'SalamanderMenuEditor' | |
36 | + name: 'SalamanderMenuEditor' | |
37 | + uuid: '87b9bc91-49f2-11e8-b00c-00ffb04bc811' | |
38 | + min: (Point 10 10) | |
39 | + bounds: (Rectangle 0 0 300 300) | |
40 | + menu: mainMenu | |
41 | + ) | |
42 | + component: | |
43 | + (SpecCollection | |
44 | + collection: ( | |
45 | + (MenuPanelSpec | |
46 | + name: 'ToolBar1' | |
47 | + layout: (LayoutFrame 0 0.0 0 0 0 1.0 36 0) | |
48 | + uuid: '87b9e3a0-49f2-11e8-b00c-00ffb04bc811' | |
49 | + menu: toolbarMenu | |
50 | + textDefault: true | |
51 | + ) | |
52 | + (ViewSpec | |
53 | + name: 'Box2' | |
54 | + layout: (LayoutFrame 0 0 -26 1 0 1 0 1) | |
55 | + uuid: '87b9e3a3-49f2-11e8-b00c-00ffb04bc811' | |
56 | + level: 1 | |
57 | + component: | |
58 | + (SpecCollection | |
59 | + collection: ( | |
60 | + (LabelSpec | |
61 | + label: 'InfoLabel' | |
62 | + name: 'Label2' | |
63 | + layout: (LayoutFrame 0 0 -26 1 -1 1 0 1) | |
64 | + uuid: '87b9e3a4-49f2-11e8-b00c-00ffb04bc811' | |
65 | + level: -1 | |
66 | + translateLabel: true | |
67 | + labelChannel: infoLabelHolder | |
68 | + adjust: left | |
69 | + ) | |
70 | + ) | |
71 | + | |
72 | + ) | |
73 | + ) | |
74 | + (SelectionInTreeViewSpec | |
75 | + name: 'TreeList1' | |
76 | + layout: (LayoutFrame 0 0 40 0 300 0 270 0) | |
77 | + uuid: 'df903d20-49f4-11e8-b00c-00ffb04bc811' | |
78 | + hasHorizontalScrollBar: true | |
79 | + hasVerticalScrollBar: true | |
80 | + highlightMode: line | |
81 | + ) | |
82 | + ) | |
83 | + | |
84 | + ) | |
85 | + ) | |
86 | +! ! | |
87 | + | |
88 | +!SalamanderMenuEditor class methodsFor:'menu specs'! | |
89 | + | |
90 | +mainMenu | |
91 | + "This resource specification was automatically generated by the CodeGeneratorTool." | |
92 | + | |
93 | + "Do not manually edit this!! If it is corrupted, | |
94 | + the MenuEditor may not be able to read the specification." | |
95 | + | |
96 | + " | |
97 | + MenuEditor new openOnClass:SalamanderMenuEditor andSelector:#mainMenu | |
98 | + " | |
99 | + | |
100 | + <resource: #menu> | |
101 | + | |
102 | + ^ #(Menu ((MenuItem label: 'File' submenu: (Menu ((MenuItem label: 'New' itemValue: menuNew) (MenuItem label: '-') (MenuItem label: 'Open...' itemValue: menuOpen) (MenuItem label: '-') (MenuItem label: 'Save' itemValue: menuSave) (MenuItem label: 'Save As...' itemValue: menuSaveAs) (MenuItem label: '-') (MenuItem label: 'Exit' itemValue: closeRequest)) nil nil)) (MenuItem label: 'MENU_Help' startGroup: right submenu: (Menu ((MenuItem label: 'Documentation' itemValue: openDocumentation) (MenuItem label: '-') (MenuItem label: 'About this Application...' itemValue: openAboutThisApplication)) nil nil))) nil nil) | |
103 | +! | |
104 | + | |
105 | +toolbarMenu | |
106 | + "This resource specification was automatically generated by the CodeGeneratorTool." | |
107 | + | |
108 | + "Do not manually edit this!! If it is corrupted, | |
109 | + the MenuEditor may not be able to read the specification." | |
110 | + | |
111 | + " | |
112 | + MenuEditor new openOnClass:SalamanderMenuEditor andSelector:#toolbarMenu | |
113 | + " | |
114 | + | |
115 | + <resource: #menu> | |
116 | + | |
117 | + ^ #(Menu ((MenuItem label: 'Reload' itemValue: menuReload isButton: true labelImage: (ResourceRetriever ToolbarIconLibrary reload24x24Icon))) nil nil) | |
118 | +! ! | |
119 | + | |
120 | +!SalamanderMenuEditor methodsFor:'initialization & release'! | |
121 | + | |
122 | +closeDownViews | |
123 | + "This is a hook method generated by the Browser/CodeGeneratorTool. | |
124 | + It will be invoked when your app/dialog-window is really closed. | |
125 | + See also #closeDownViews, which is invoked before and may suppress the close | |
126 | + or ask the user for confirmation." | |
127 | + | |
128 | + "/ change the code below as required ... | |
129 | + "/ This should cleanup any leftover resources | |
130 | + "/ (for example, temporary files) | |
131 | + "/ super closeRequest will initiate the closeDown | |
132 | + | |
133 | + "/ add your code here | |
134 | + | |
135 | + "/ do not remove the one below ... | |
136 | + super closeDownViews. | |
137 | + Smalltalk exitIfStandalone: 0 | |
138 | + | |
139 | + "Modified (format): / 27-04-2018 / 10:15:57 / svestkap" | |
140 | +! | |
141 | + | |
142 | +closeRequest | |
143 | + "This is a hook method generated by the Browser/CodeGeneratorTool. | |
144 | + It will be invoked when your app/dialog-window is about to be | |
145 | + closed (this method has a chance to suppress the close). | |
146 | + See also #closeDownViews, which is invoked when the close is really done." | |
147 | + | |
148 | + "/ change the code below as required ... | |
149 | + "/ Closing can be suppressed, by simply returning. | |
150 | + "/ The 'super closeRequest' at the end will initiate the real closeDown | |
151 | + | |
152 | + self hasUnsavedChanges ifTrue:[ | |
153 | + (self confirm:(resources string:'Close without saving ?')) ifFalse:[ | |
154 | + ^ self | |
155 | + ] | |
156 | + ]. | |
157 | + | |
158 | + ^ super closeRequest | |
159 | +! | |
160 | + | |
161 | +postBuildWith:aBuilder | |
162 | + "This is a hook method generated by the Browser/CodeGeneratorTool. | |
163 | + It will be invoked during the initialization of your app/dialog, | |
164 | + after all of the visual components have been built, | |
165 | + but BEFORE the top window is made visible. | |
166 | + Add any app-specific actions here (reading files, setting up values etc.) | |
167 | + See also #postOpenWith:, which is invoked after opening." | |
168 | + | |
169 | + "/ add any code here ... | |
170 | + | |
171 | + ^ super postBuildWith:aBuilder | |
172 | +! | |
173 | + | |
174 | +postOpenWith:aBuilder | |
175 | + "This is a hook method generated by the Browser/CodeGeneratorTool. | |
176 | + It will be invoked right after the applications window has been opened. | |
177 | + Add any app-specific actions here (starting background processes etc.). | |
178 | + See also #postBuildWith:, which is invoked before opening." | |
179 | + | |
180 | + "/ add any code here ... | |
181 | + | |
182 | + ^ super postOpenWith:aBuilder | |
183 | +! ! | |
184 | + | |
185 | +!SalamanderMenuEditor methodsFor:'menu actions'! | |
186 | + | |
187 | +doSaveAs | |
188 | + "This method was generated by the Browser/CodeGeneratorTool. | |
189 | + It will be invoked when the menu-item 'save/saveAs' is selected." | |
190 | + | |
191 | + "/ change below and add any actions as required here ... | |
192 | + self warn:'no action for ''save/saveAs'' defined.'. | |
193 | +! | |
194 | + | |
195 | +menuNew | |
196 | + "This method was generated by the Browser/CodeGeneratorTool. | |
197 | + It will be invoked when the menu-item 'new' is selected." | |
198 | + | |
199 | + "/ change below and add any actions as required here ... | |
200 | + self warn:'no action for ''new'' defined.'. | |
201 | +! | |
202 | + | |
203 | +menuOpen | |
204 | + "This method was generated by the Browser/CodeGeneratorTool. | |
205 | + It will be invoked when the menu-item 'open' is selected." | |
206 | + | |
207 | + "/ change below and add any actions as required here ... | |
208 | + self warn:'no action for ''open'' defined.'. | |
209 | +! | |
210 | + | |
211 | +menuReload | |
212 | + "This method was generated by the Browser/CodeGeneratorTool. | |
213 | + It will be invoked when the menu-item 'reload' is selected." | |
214 | + | |
215 | + "/ change below and add any actions as required here ... | |
216 | + self warn:'no action for ''reload'' defined.'. | |
217 | +! | |
218 | + | |
219 | +menuSave | |
220 | + "This method was generated by the Browser/CodeGeneratorTool. | |
221 | + It will be invoked when the menu-item 'save' is selected." | |
222 | + | |
223 | + "/ change below and add any actions as required here ... | |
224 | + self warn:'no action for ''save'' defined.'. | |
225 | +! | |
226 | + | |
227 | +menuSaveAs | |
228 | + "This method was generated by the Browser/CodeGeneratorTool. | |
229 | + It will be invoked when the menu-item 'saveAs' is selected." | |
230 | + | |
231 | + "/ change below as required... (see examples in Dialog class for more options) | |
232 | + Dialog | |
233 | + requestSaveFileName:(resources string:'Save') | |
234 | + default:'foo.txt' | |
235 | + fromDirectory:nil | |
236 | + action:[:fileName | self doSaveAs:fileName] | |
237 | + appendAction:nil. | |
238 | +! | |
239 | + | |
240 | +openAboutThisApplication | |
241 | + "This method was generated by the Browser/CodeGeneratorTool. | |
242 | + It will be invoked when the menu-item 'help-about' is selected." | |
243 | + | |
244 | + "/ could open a customized aboutBox here ... | |
245 | + super openAboutThisApplication | |
246 | +! | |
247 | + | |
248 | +openDocumentation | |
249 | + "This method was generated by the Browser/CodeGeneratorTool. | |
250 | + It will be invoked when the menu-item 'help-documentation' is selected." | |
251 | + | |
252 | + "/ change below as required ... | |
253 | + | |
254 | + "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ): | |
255 | + self openDocumentationFile:'TOP.html'. | |
256 | + | |
257 | + "/ add application-specific help files under the 'doc/online/<language>/help/appName' | |
258 | + "/ directory, and open a viewer with: | |
259 | + "/ self openDocumentationFile:'help/<MyApplication>/TOP.html'. | |
260 | +! ! | |
261 | + | |
262 | +!SalamanderMenuEditor methodsFor:'private queries'! | |
263 | + | |
264 | +hasUnsavedChanges | |
265 | + "Return true, if any unsaved changes are present | |
266 | + (i.e. the contents needs to be saved or else will be lost)" | |
267 | + | |
268 | + "/ add real code as required (or remove the halt and always return false)... | |
269 | + "/ self halt:'check this code'. | |
270 | + ^ false. | |
271 | +! ! | |
272 | + |
@@ -0,0 +1,78 @@ | ||
1 | +"{ Package: 'ps:salamander_menueditor' }" | |
2 | + | |
3 | +"{ NameSpace: Smalltalk }" | |
4 | + | |
5 | +StandaloneStartup subclass:#SalamanderMenuEditorStart | |
6 | + instanceVariableNames:'' | |
7 | + classVariableNames:'' | |
8 | + poolDictionaries:'' | |
9 | + category:'ps-salamander-menueditor' | |
10 | +! | |
11 | + | |
12 | + | |
13 | +!SalamanderMenuEditorStart class methodsFor:'constants & defaults'! | |
14 | + | |
15 | +applicationRegistryPath | |
16 | + "for windows only: | |
17 | + the key under which this application stores its process ID in the registry | |
18 | + as a collection of path-components. | |
19 | + i.e. if #('foo' 'bar' 'baz') is returned here, the current application's ID will be stored | |
20 | + in HKEY_CURRENT_USER\Software\foo\bar\baz\CurrentID. | |
21 | + (would also be used as a relative path for a temporary lock file under unix). | |
22 | + Used to detect if another instance of this application is already running." | |
23 | + | |
24 | + ^ #('stx' 'SalamanderMenuEditor') | |
25 | +! | |
26 | + | |
27 | +applicationUUID | |
28 | + "answer an application-specific unique uuid. | |
29 | + This is used as the name of some exclusive OS-resource, which is used to find out, | |
30 | + if another instance of this application is already running. | |
31 | + Under win32, a mutex is used; under unix, an exclusive file in the tempDir could be used. | |
32 | + If redefined, please return a real UUID (i.e. UUID fromString:'.....') and not a string or | |
33 | + similar possibly conflicting identifier. | |
34 | + You can paste a fresh worldwide unique id via the editor's 'more'-'misc'-'paste UUID' menu function." | |
35 | + | |
36 | + ^ UUID fromString:'a3ead6b0-49f2-11e8-b00c-00ffb04bc811' | |
37 | +! ! | |
38 | + | |
39 | +!SalamanderMenuEditorStart class methodsFor:'startup'! | |
40 | + | |
41 | +main: argv | |
42 | + "Application entry point. `argv` is the array of command arguments (as Array of Strings)" | |
43 | + | |
44 | + | optparser positional | | |
45 | + | |
46 | + optparser := CmdLineParser new. | |
47 | + optparser | |
48 | +"/ on: #('-s' '--long') do:[ ... ]; | |
49 | +"/ on: #('-I' '--include') do:[ :value | includes add: value ]; | |
50 | + on: #('-h' '--help') do:[ self usage. Smalltalk exitIfStandalone:0 ]. | |
51 | + [ | |
52 | + positional := optparser parse:argv. | |
53 | + ] on: CmdLineOptionError do:[:ex | | |
54 | + Stderr nextPutAll: 'ERROR: '; nextPutLine: ex description. | |
55 | + Smalltalk exitIfStandalone:0. | |
56 | + ]. | |
57 | + | |
58 | + SalamanderMenuEditor open. | |
59 | +! | |
60 | + | |
61 | +usage | |
62 | + "output some command-line usage infos on stderr" | |
63 | + | |
64 | + Stderr nextPutLine:'usage: ',self applicationName,' [options...]'. | |
65 | + Stderr nextPutLine:' --noInfoPrint ........ disable diagnostic messages'. | |
66 | + Stderr nextPutLine:' -h ................... output this message'. | |
67 | + Stderr nextPutLine:' -a <file> ............ a-argument(s)'. | |
68 | + Stderr nextPutLine:' -b <file> ............ b-argument(s)'. | |
69 | + Stderr nextPutLine:' -c ................... c-option'. | |
70 | +! ! | |
71 | + | |
72 | +!SalamanderMenuEditorStart class methodsFor:'documentation'! | |
73 | + | |
74 | +version_HG | |
75 | + | |
76 | + ^ '$Changeset: <not expanded> $' | |
77 | +! ! | |
78 | + |
@@ -0,0 +1,6 @@ | ||
1 | +# automagically generated by the project definition | |
2 | +# this file is needed for stc to be able to compile modules independently. | |
3 | +# it provides information about a classes filename, category and especially namespace. | |
4 | +SalamanderMenuEditor SalamanderMenuEditor ps:salamander_menueditor 'ps-salamander-menueditor' 2 | |
5 | +SalamanderMenuEditorStart SalamanderMenuEditorStart ps:salamander_menueditor 'ps-salamander-menueditor' 1 | |
6 | +ps_salamander_menueditor ps_salamander_menueditor ps:salamander_menueditor '* Projects & Packages *' 3 |
@@ -0,0 +1,69 @@ | ||
1 | +# -*- shell-script -*- | |
2 | +[Meta] | |
3 | +ShortName: salamander_menueditor | |
4 | +SoftwareVersion: 8.0.0.0 | |
5 | +DisplayName: Application | |
6 | +RootName: ProductName | |
7 | +Summary: Application | |
8 | +Maintainer: My Company | |
9 | +Packager: My Company | |
10 | +PackageVersion: 1 | |
11 | +CPUArchitectures: x86 | |
12 | +AutopackageTarget: 1.0 | |
13 | +Type: Application | |
14 | +License: Commercial | |
15 | + | |
16 | +[Description] | |
17 | +Application | |
18 | + | |
19 | +[BuildPrepare] | |
20 | +# If you're using autotools, the default should be enough. | |
21 | +# prepareBuild will set up apbuild and run configure for you. If you | |
22 | +# need to pass arguments to configure, just add them to prepareBuild: | |
23 | +# prepareBuild --enable-foo --disable-bar | |
24 | +#prepareBuild | |
25 | + | |
26 | +[BuildUnprepare] | |
27 | +# If you're using prepareBuild above, there is no need to change this! | |
28 | +#unprepareBuild | |
29 | + | |
30 | +[Globals] | |
31 | +# Variables declared in this section will be available in all other sections | |
32 | +export APKG_BUILD_SKIP_CONFIGURE=1 | |
33 | +export APKG_BUILD_SKIP_MAKE=1 | |
34 | +export MYPREFIX=/opt/salamander_menueditor | |
35 | + | |
36 | +[Prepare] | |
37 | +#recommend '@autopackage.org/autopackage-gtk' 1 | |
38 | + | |
39 | +[Imports] | |
40 | +import <<EOF | |
41 | +$source_dir/salamander_menueditor | |
42 | + | |
43 | +EOF | |
44 | + | |
45 | +for i in $source_dir/*.so | |
46 | +do | |
47 | + echo $source_dir/$(readlink $i) | |
48 | +done | import | |
49 | + | |
50 | +[Install] | |
51 | +if [ "$PREFIX" != "/usr" ] | |
52 | +then | |
53 | + export MYPREFIX=$PREFIX | |
54 | +fi | |
55 | + | |
56 | +find . -type d \( -name CVS -or -name 'not_*' \) -print | xargs rm -rf | |
57 | +mkdir -p $MYPREFIX | |
58 | +copyFiles ProductName *.rc resources $MYPREFIX/bin | |
59 | + | |
60 | + | |
61 | +#installExe ProductName | |
62 | +#installLib *.so | |
63 | + | |
64 | + | |
65 | +[Uninstall] | |
66 | +# Leaving this at the default is safe unless you use custom commands in | |
67 | +# "Install" to create files. All autopackage API functions | |
68 | +# that installs files are logged. | |
69 | +uninstallFromLog |
@@ -0,0 +1,507 @@ | ||
1 | +# $Header$ | |
2 | +# | |
3 | +# DO NOT EDIT | |
4 | +# automagically generated from the projectDefinition: ps_salamander_menueditor. | |
5 | +# | |
6 | +# Warning: once you modify this file, do not rerun | |
7 | +# stmkmp or projectDefinition-build again - otherwise, your changes are lost. | |
8 | +# | |
9 | +# Historic Note: | |
10 | +# this used to contain only rules to make with borland | |
11 | +# (called via bmake, by "make.exe -f bc.mak") | |
12 | +# this has changed; it is now also possible to build using microsoft visual c | |
13 | +# (called via vcmake, by "make.exe -f bc.mak -DUSEVC") | |
14 | +# | |
15 | +# Rules found here: | |
16 | +# bmake | |
17 | +# - build everything, incl. a self installing exe for deployment | |
18 | +# bmake exe | |
19 | +# - only build the executable; to be executed and tested here | |
20 | +# bmake setup | |
21 | +# - make the self installing exe (assuming that the exe is already present) | |
22 | +# bmake clean | |
23 | +# - remove everything that is not needed to execute | |
24 | +# bmake clobber | |
25 | +# - remove everything that cannot be reconstructed by bmake | |
26 | +# | |
27 | +# For a 64bit build, replace bmake by mingwmake. | |
28 | + | |
29 | +TOP=..\..\stx | |
30 | +INCLUDE_TOP=$(TOP)\.. | |
31 | + | |
32 | +# An old file, used as a dummy target for FORCE if we do not want | |
33 | +# re-make libraries. Windows make does not work if we redefine FORCE= (empty string) | |
34 | +# OLD_FILE=bmake.bat | |
35 | +OLD_FILE="c:\windows\win.ini" | |
36 | + | |
37 | +#dummy target to force a build | |
38 | +!ifndef FORCE | |
39 | +FORCE=$(OLD_FILE) | |
40 | +!endif | |
41 | + | |
42 | +CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \ | |
43 | + -DSTARTUP_CLASS="\"SalamanderMenuEditorStart\"" \ | |
44 | + -DSTARTUP_SELECTOR="\"start\"" \ | |
45 | + -DUSE_MODULE_TABLE | |
46 | + | |
47 | +# | |
48 | + | |
49 | +!INCLUDE $(TOP)\rules\stdHeader_bc | |
50 | +!INCLUDE Make.spec | |
51 | + | |
52 | +OBJS= $(COMMON_OBJS) $(WIN32_OBJS) | |
53 | + | |
54 | + | |
55 | + | |
56 | +# | |
57 | +APPNAME=libps_salamander_menueditor | |
58 | +LIBNAME=libps_salamander_menueditor | |
59 | +MODULE_PATH=salamander_menueditor | |
60 | +STCOPT="+optinline" | |
61 | +LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libview2 | |
62 | +LOCALDEFINES= | |
63 | +GLOBALDEFINES= | |
64 | + | |
65 | +STCLOCALOPT='-package=$(PACKAGE)' $(LOCALDEFINES) $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME) | |
66 | + | |
67 | +LFLAGS=$(APP_LFLAGS) | |
68 | + | |
69 | +PROJECT_NOCONSOLE= salamander_menueditor.exe | |
70 | +PROJECT_CONSOLE= salamander_menueditor.com | |
71 | +ALLOBJFILES= main.$(O) | |
72 | +!ifdef USETCC | |
73 | +RESFILES= | |
74 | +!else | |
75 | +RESFILES= ps_salamander_menueditorWINrc.$(RES) | |
76 | +!endif | |
77 | + | |
78 | +ALLOBJ= $(ALLOBJFILES) $(OBJS) | |
79 | +DEFFILE=$(TOP)\rules\bc_exe.def | |
80 | + | |
81 | +LIBFILES=$(LIBDIR_LIBRUN)\librun.lib | |
82 | +ALLLIB=$(LIBFILES) $(APP_IMPORTLIBS) $(APP_RT_LIB) | |
83 | + | |
84 | +!if defined(USEMINGW32) | |
85 | +RT_DLL=libgcc_s_dw2-1.dll | |
86 | +!endif | |
87 | + | |
88 | +REQUIRED_LIBS=librun.dll \ | |
89 | + libstx_libbasic.dll \ | |
90 | + libstx_libbasic2.dll \ | |
91 | + libstx_libcomp.dll \ | |
92 | + libstx_libbasic3.dll \ | |
93 | + libstx_libview.dll \ | |
94 | + libstx_libui.dll \ | |
95 | + libstx_libview2.dll \ | |
96 | + libstx_libwidg.dll \ | |
97 | + libstx_libwidg2.dll \ | |
98 | + | |
99 | + | |
100 | +REQUIRED_FILES=$(RT_DLL) $(X11_DLL) $(XEXT_DLL) symbols.stc $(REQUIRED_LIBS) | |
101 | + | |
102 | +SUBPROJECT_LIBS= | |
103 | + | |
104 | + | |
105 | +REQUIRED_SUPPORT_DIRS=RESOURCEFILES | |
106 | + | |
107 | +target: ALL postBuildCleanup | |
108 | + | |
109 | +# the executable, all required files and a self-installing-installer-exe | |
110 | +ALL:: prereq ALL_NP | |
111 | + | |
112 | +# all, but no prereqs | |
113 | +ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup subProjects | |
114 | + | |
115 | +exe: newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp registerApplication | |
116 | + | |
117 | +# the executable only | |
118 | +# with console | |
119 | +consoleApp: $(REQUIRED_LIBS) | |
120 | + -del main.$(O) | |
121 | + $(MAKE) -N -f bc.mak $(USE_ARG) \ | |
122 | + MAKE_BAT=$(MAKE_BAT) \ | |
123 | + PROJECT=$(PROJECT_CONSOLE) \ | |
124 | + CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_CONSOLE)" \ | |
125 | + LFLAGS_APPTYPE=" $(LFLAGS_CONSOLE)" \ | |
126 | + CRT_STARTUP=" $(CRT_STARTUP_CONSOLE)" theExe | |
127 | + | |
128 | +# without console | |
129 | +noConsoleApp: $(REQUIRED_LIBS) | |
130 | + -del main.$(O) | |
131 | + $(MAKE) -N -f bc.mak $(USE_ARG) \ | |
132 | + MAKE_BAT=$(MAKE_BAT) \ | |
133 | + PROJECT=$(PROJECT_NOCONSOLE) \ | |
134 | + CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_NOCONSOLE) -DWIN_LOGFILE="\\"\"salamander_menueditor.log\\"\""" \ | |
135 | + LFLAGS_APPTYPE=" $(LFLAGS_NOCONSOLE)" \ | |
136 | + CRT_STARTUP=" $(CRT_STARTUP_NOCONSOLE)" theExe | |
137 | + | |
138 | +# the executable only (internal target; needs some defines) | |
139 | +theExe: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) | |
140 | + | |
141 | +# build all mandatory prerequisite packages (containing superclasses) for this package | |
142 | +prereq: | |
143 | + $(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD makePrereq | |
144 | + | |
145 | +makePrereq: $(REQUIRED_LIBS) | |
146 | + | |
147 | +subProjects: | |
148 | + $(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD makeSubProjects | |
149 | + | |
150 | +makeSubProjects: $(SUBPROJECT_LIBS) | |
151 | + @echo "sub-projects made" | |
152 | + | |
153 | +FORCE_BUILD: | |
154 | + @rem Dummy target to force a build | |
155 | + | |
156 | +# a nullsoft installable delivery | |
157 | +# This uses the Nullsoft Installer Package and works in Windows only | |
158 | + | |
159 | +!if defined(USEMINGW64) | |
160 | + | |
161 | +setup: $(PROJECT) postBuildCleanup salamander_menueditor.nsi | |
162 | + $(MAKENSIS) /DOBJ_DIR=objmingw /DSETUP_NAME=ProductNameSetup64 salamander_menueditor.nsi | |
163 | + | |
164 | + | |
165 | +!else | |
166 | + | |
167 | +setup: $(PROJECT) postBuildCleanup salamander_menueditor.nsi | |
168 | + $(MAKENSIS) /DOBJ_DIR=objbc /DSETUP_NAME=ProductNameSetup salamander_menueditor.nsi | |
169 | + | |
170 | + | |
171 | +!endif | |
172 | + | |
173 | +newBuildDate: | |
174 | + del buildDate.h | |
175 | + | |
176 | +new: | |
177 | + $(MAKE_BAT) clean | |
178 | + $(MAKE_BAT) | |
179 | + | |
180 | +RESOURCEFILES: salamander_menueditor_RESOURCES salamander_menueditor_BITMAPS \ | |
181 | + stx_RESOURCES stx_STYLES stx_BITMAPS | |
182 | + | |
183 | + | |
184 | +salamander_menueditor_RESOURCES: resources\ps\salamander_menueditor\NUL | |
185 | + -copy ..\resources\*.rs resources\ps\salamander_menueditor\.. | |
186 | + -copy ..\resources\*.style resources\ps\salamander_menueditor\.. | |
187 | + | |
188 | +salamander_menueditor_BITMAPS: resources\ps\salamander_menueditor\bitmaps\NUL | |
189 | + -copy *.ico resources\ps\salamander_menueditor\bitmaps | |
190 | + -copy *.gif resources\ps\salamander_menueditor\bitmaps | |
191 | + | |
192 | +resources\ps\salamander_menueditor\bitmaps\NUL: resources\ps\salamander_menueditor\NUL | |
193 | + mkdir resources\ps\salamander_menueditor\bitmaps | |
194 | + | |
195 | +resources\ps\salamander_menueditor\NUL: resources\ps\NUL | |
196 | + mkdir resources\ps\salamander_menueditor | |
197 | +resources\ps\NUL: resources\NUL | |
198 | + mkdir resources\ps | |
199 | + | |
200 | + | |
201 | + | |
202 | +stx_RESOURCES: \ | |
203 | + keyboard.rc \ | |
204 | + keyboardMacros.rc \ | |
205 | + host.rc \ | |
206 | + h_win32.rc \ | |
207 | + display.rc \ | |
208 | + d_win32.rc \ | |
209 | + libbasic_RESOURCES \ | |
210 | + libview_RESOURCES \ | |
211 | + libtool_RESOURCES \ | |
212 | + libtool2_RESOURCES | |
213 | + | |
214 | + | |
215 | +keyboard.rc: $(TOP)\projects\smalltalk\keyboard.rc | |
216 | + copy $(TOP)\projects\smalltalk\keyboard.rc *.* | |
217 | + | |
218 | +keyboardMacros.rc: $(TOP)\projects\smalltalk\keyboardMacros.rc | |
219 | + copy $(TOP)\projects\smalltalk\keyboardMacros.rc *.* | |
220 | + | |
221 | +host.rc: $(TOP)\projects\smalltalk\host.rc | |
222 | + copy $(TOP)\projects\smalltalk\host.rc *.* | |
223 | + | |
224 | +h_win32.rc: $(TOP)\projects\smalltalk\h_win32.rc | |
225 | + copy $(TOP)\projects\smalltalk\h_win32.rc *.* | |
226 | + | |
227 | +display.rc: $(TOP)\projects\smalltalk\display.rc | |
228 | + copy $(TOP)\projects\smalltalk\display.rc *.* | |
229 | + | |
230 | +d_win32.rc: $(TOP)\projects\smalltalk\d_win32.rc | |
231 | + copy $(TOP)\projects\smalltalk\d_win32.rc *.* | |
232 | + | |
233 | +stx_STYLES: resources\stx\libview\NUL resources\stx\libview\styles\NUL | |
234 | + -copy $(TOP)\libview\styles\*.style resources\stx\libview\styles\*.* | |
235 | + -copy $(TOP)\libview\styles\*.common resources\stx\libview\styles\*.* | |
236 | + | |
237 | +stx_BITMAPS: \ | |
238 | + libwidg_BITMAPS | |
239 | + | |
240 | +libwidg_BITMAPS: resources\stx\libwidg\bitmaps\NUL | |
241 | + -copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.* | |
242 | + | |
243 | +libbasic_RESOURCES: resources\stx\libbasic\NUL | |
244 | + -copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.* | |
245 | + | |
246 | +libtool_RESOURCES: resources\stx\libtool\NUL | |
247 | + -copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.* | |
248 | + | |
249 | +libtool2_RESOURCES: resources\stx\libtool2\NUL | |
250 | + -copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.* | |
251 | + | |
252 | +libview_RESOURCES: resources\stx\libview\NUL | |
253 | + -copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.* | |
254 | + | |
255 | +libview2_RESOURCES: resources\stx\libview2\NUL | |
256 | + -copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.* | |
257 | + | |
258 | +resources\stx\libbasic\NUL: resources\stx\NUL | |
259 | + mkdir resources\stx\libbasic | |
260 | + | |
261 | +resources\stx\libtool\NUL: resources\stx\NUL | |
262 | + mkdir resources\stx\libtool | |
263 | + | |
264 | +resources\stx\libtool2\NUL: resources\stx\NUL | |
265 | + mkdir resources\stx\libtool2 | |
266 | + | |
267 | +resources\stx\libview\NUL: resources\stx\NUL | |
268 | + mkdir resources\stx\libview | |
269 | + | |
270 | +resources\stx\libview\styles\NUL: resources\stx\libview\NUL | |
271 | + mkdir resources\stx\libview\styles | |
272 | + | |
273 | +resources\stx\libview2\NUL: resources\stx\NUL | |
274 | + mkdir resources\stx\libview2 | |
275 | + | |
276 | +resources\stx\libwidg\bitmaps\NUL: resources\stx\libwidg\NUL | |
277 | + mkdir resources\stx\libwidg\bitmaps | |
278 | + | |
279 | +resources\stx\libwidg\NUL: resources\stx\NUL | |
280 | + mkdir resources\stx\libwidg | |
281 | + | |
282 | +resources\stx\NUL: resources\NUL | |
283 | + mkdir resources\stx | |
284 | + | |
285 | +resources\NUL: | |
286 | + mkdir resources | |
287 | + | |
288 | +bitmaps\NUL: | |
289 | + mkdir bitmaps | |
290 | + | |
291 | +doc\NUL: | |
292 | + mkdir doc | |
293 | + | |
294 | + | |
295 | + | |
296 | + | |
297 | + | |
298 | + | |
299 | +libstx_libbasic.dll: ..\..\stx\libbasic\$(OBJDIR)\libstx_libbasic.dll | |
300 | + copy ..\..\stx\libbasic\$(OBJDIR)\libstx_libbasic.dll *.* | |
301 | + | |
302 | +..\..\stx\libbasic\$(OBJDIR)\libstx_libbasic.dll: $(FORCE) | |
303 | + pushd ..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
304 | + | |
305 | +libstx_libbasic2.dll: ..\..\stx\libbasic2\$(OBJDIR)\libstx_libbasic2.dll | |
306 | + copy ..\..\stx\libbasic2\$(OBJDIR)\libstx_libbasic2.dll *.* | |
307 | + | |
308 | +..\..\stx\libbasic2\$(OBJDIR)\libstx_libbasic2.dll: $(FORCE) | |
309 | + pushd ..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
310 | + | |
311 | +libstx_libcomp.dll: ..\..\stx\libcomp\$(OBJDIR)\libstx_libcomp.dll | |
312 | + copy ..\..\stx\libcomp\$(OBJDIR)\libstx_libcomp.dll *.* | |
313 | + | |
314 | +..\..\stx\libcomp\$(OBJDIR)\libstx_libcomp.dll: $(FORCE) | |
315 | + pushd ..\..\stx\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
316 | + | |
317 | +libstx_libbasic3.dll: ..\..\stx\libbasic3\$(OBJDIR)\libstx_libbasic3.dll | |
318 | + copy ..\..\stx\libbasic3\$(OBJDIR)\libstx_libbasic3.dll *.* | |
319 | + | |
320 | +..\..\stx\libbasic3\$(OBJDIR)\libstx_libbasic3.dll: $(FORCE) | |
321 | + pushd ..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
322 | + | |
323 | +libstx_libview.dll: ..\..\stx\libview\$(OBJDIR)\libstx_libview.dll | |
324 | + copy ..\..\stx\libview\$(OBJDIR)\libstx_libview.dll *.* | |
325 | + | |
326 | +..\..\stx\libview\$(OBJDIR)\libstx_libview.dll: $(FORCE) | |
327 | + pushd ..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
328 | + | |
329 | +libstx_libui.dll: ..\..\stx\libui\$(OBJDIR)\libstx_libui.dll | |
330 | + copy ..\..\stx\libui\$(OBJDIR)\libstx_libui.dll *.* | |
331 | + | |
332 | +..\..\stx\libui\$(OBJDIR)\libstx_libui.dll: $(FORCE) | |
333 | + pushd ..\..\stx\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
334 | + | |
335 | +libstx_libview2.dll: ..\..\stx\libview2\$(OBJDIR)\libstx_libview2.dll | |
336 | + copy ..\..\stx\libview2\$(OBJDIR)\libstx_libview2.dll *.* | |
337 | + | |
338 | +..\..\stx\libview2\$(OBJDIR)\libstx_libview2.dll: $(FORCE) | |
339 | + pushd ..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
340 | + | |
341 | +libstx_libwidg.dll: ..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll | |
342 | + copy ..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll *.* | |
343 | + | |
344 | +..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll: $(FORCE) | |
345 | + pushd ..\..\stx\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
346 | + | |
347 | +libstx_libwidg2.dll: ..\..\stx\libwidg2\$(OBJDIR)\libstx_libwidg2.dll | |
348 | + copy ..\..\stx\libwidg2\$(OBJDIR)\libstx_libwidg2.dll *.* | |
349 | + | |
350 | +..\..\stx\libwidg2\$(OBJDIR)\libstx_libwidg2.dll: $(FORCE) | |
351 | + pushd ..\..\stx\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " | |
352 | + | |
353 | + | |
354 | + | |
355 | + | |
356 | +sources\NUL: | |
357 | + mkdir sources | |
358 | + | |
359 | +show: | |
360 | + @echo LFLAGS= $(LFLAGS) | |
361 | + @echo ALLOBJ= $(ALLOBJ) | |
362 | + @echo PROJECT= $(PROJECT) | |
363 | + @echo APP_IMPORTLIBS= $(APP_IMPORTLIBS) | |
364 | + @echo ALLLIB= $(ALLLIB) | |
365 | + @echo DEFFILE= $(DEFFILE) | |
366 | + @echo ALLRES= $(ALLRES) | |
367 | + | |
368 | +!ifdef USEBC | |
369 | + | |
370 | +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
371 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_CONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES) | |
372 | + | |
373 | +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
374 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_NOCONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES) | |
375 | + | |
376 | +!else | |
377 | +! ifdef USEVC | |
378 | + | |
379 | +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
380 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_CONSOLE)" \ | |
381 | + /MANIFEST /MANIFESTFILE:"$(PROJECT_CONSOLE).manifest" \ | |
382 | + /PDB:"$(PROJECT_CONSOLE).pdb" \ | |
383 | + /SUBSYSTEM:CONSOLE $(ALLLIB) $(RESFILES) | |
384 | + | |
385 | +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
386 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_NOCONSOLE)" \ | |
387 | + /MANIFEST /MANIFESTFILE:"$(PROJECT_NOCONSOLE).manifest" \ | |
388 | + /PDB:"$(PROJECT_NOCONSOLE).pdb" \ | |
389 | + /SUBSYSTEM:WINDOWS $(ALLLIB) $(RESFILES) | |
390 | + | |
391 | +! else | |
392 | +! ifdef USELCC | |
393 | + | |
394 | +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
395 | + $(APP_LINKER) -subsystem console $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES) | |
396 | + | |
397 | +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
398 | + $(APP_LINKER) -subsystem windows $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES) | |
399 | + | |
400 | +! else | |
401 | +! ifdef USETCC | |
402 | + | |
403 | +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
404 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES) | |
405 | + | |
406 | +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) | |
407 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES) | |
408 | + | |
409 | +! else | |
410 | +! if defined(USEMINGW32) || defined(USEMINGW64) | |
411 | + | |
412 | +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show | |
413 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES) | |
414 | + | |
415 | +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show | |
416 | + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(APP_IMPORTLIBS) $(RESFILES) | |
417 | + | |
418 | +! else | |
419 | +error error error | |
420 | +! endif | |
421 | +! endif | |
422 | +! endif | |
423 | +! endif | |
424 | +!endif | |
425 | + | |
426 | +!INCLUDE $(TOP)\rules\stdRules_bc | |
427 | + | |
428 | +# | |
429 | +# additional rules | |
430 | +# | |
431 | +salamander_menueditorWin.$(RES): salamander_menueditorWin.rc salamander_menueditor.ico | |
432 | + | |
433 | +main.$(O): buildDate.h main.c bc.mak | |
434 | + | |
435 | +main.c: $(TOP)\librun\main.c | |
436 | + copy $(TOP)\librun\main.c main.c | |
437 | + | |
438 | +# now in stdRules. | |
439 | +#buildDate.h: $(GENDATE_UTILITIY) | |
440 | +# $(GENDATE_UTILITIY) | |
441 | + | |
442 | +librun.dll: $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll | |
443 | + copy $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll librun.dll | |
444 | + | |
445 | +!ifdef USEBC | |
446 | +#cs3245.dll | |
447 | +$(RT_DLL): $(TOP)\support\win32\borland\$(RT_DLL) | |
448 | + copy $(TOP)\support\win32\borland\$(RT_DLL) $(RT_DLL) | |
449 | + | |
450 | +X11.dll: $(TOP)\support\win32\X11.dll | |
451 | + copy $(TOP)\support\win32\X11.dll X11.dll | |
452 | + | |
453 | +Xext.dll: $(TOP)\support\win32\Xext.dll | |
454 | + copy $(TOP)\support\win32\Xext.dll Xext.dll | |
455 | +!endif | |
456 | + | |
457 | +!if defined(USEMINGW32) | |
458 | +$(RT_DLL): $(MINGW_DIR)\bin\$(RT_DLL) | |
459 | + -copy $(MINGW_DIR)\bin\$(RT_DLL) $(RT_DLL) | |
460 | + -copy $(MINGW_DIR)\bin\libwinpthread-1.dll libwinpthread-1.dll | |
461 | +!endif | |
462 | + | |
463 | +symbols.stc: $(TOP)\include\symbols.stc | |
464 | + copy $(TOP)\include\symbols.stc symbols.stc | |
465 | + | |
466 | + | |
467 | + | |
468 | + | |
469 | + | |
470 | +clean:: | |
471 | + -del genDate.exe genDate.com | |
472 | + -del c0x32.dll | |
473 | + -del c0x32.lib | |
474 | + -del buildDate.h | |
475 | + -del $(PROJECT) | |
476 | + -del install_salamander_menueditor.exe | |
477 | + -del stx.lib | |
478 | + -del stx.dll | |
479 | + -del $(RT_DLL) | |
480 | + -del $(REQUIRED_FILES) | |
481 | + -del main.c | |
482 | + -del *.log | |
483 | + -del *.$(RES) | |
484 | + -rmdir /S /Q resources | |
485 | + -rmdir /S /Q $(OBJDIR) | |
486 | + | |
487 | +clobber:: clean | |
488 | + -del *.dll *.exe *.com | |
489 | + | |
490 | +postBuildCleanup:: | |
491 | + @rem stupid win-make does not allow empty | |
492 | + | |
493 | +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it | |
494 | +$(OUTDIR)SalamanderMenuEditor.$(O) SalamanderMenuEditor.$(C) SalamanderMenuEditor.$(H): SalamanderMenuEditor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR) | |
495 | +$(OUTDIR)SalamanderMenuEditorStart.$(O) SalamanderMenuEditorStart.$(C) SalamanderMenuEditorStart.$(H): SalamanderMenuEditorStart.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR) | |
496 | +$(OUTDIR)ps_salamander_menueditor.$(O) ps_salamander_menueditor.$(C) ps_salamander_menueditor.$(H): ps_salamander_menueditor.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR) | |
497 | + | |
498 | +# ENDMAKEDEPEND --- do not remove this line | |
499 | + | |
500 | +# **Must be at end** | |
501 | + | |
502 | +# Enforce recompilation of package definition class if Mercurial working | |
503 | +# copy state changes. Together with --guessVersion it ensures that package | |
504 | +# definition class always contains correct binary revision string. | |
505 | +!IFDEF HGROOT | |
506 | +$(OUTDIR)ps_salamander_menueditor.$(O): $(HGROOT)\.hg\dirstate | |
507 | +!ENDIF |
@@ -0,0 +1,14 @@ | ||
1 | +@REM ------- | |
2 | +@REM make using Borland bcc32 | |
3 | +@REM type bmake, and wait... | |
4 | +@REM do not edit - automatically generated from ProjectDefinition | |
5 | +@REM ------- | |
6 | +@SET DEFINES= | |
7 | + | |
8 | +make.exe -N -f bc.mak %DEFINES% %* | |
9 | + | |
10 | +@IF "%1" EQU "exe" exit /b 0 | |
11 | +@IF "%1" EQU "setup" exit /b 0 | |
12 | +@IF "%1" EQU "pluginSetup" exit /b 0 | |
13 | + | |
14 | + |
@@ -0,0 +1,34 @@ | ||
1 | + | |
2 | +# generated from project definition | |
3 | + | |
4 | +# load package dependencies | |
5 | +load 'package.deps.rake' | |
6 | + | |
7 | +# kludge: clear some invalid dependencies of libwidg | |
8 | +# (should be fixed in baseline) | |
9 | +clear "stx:libwidg" => "stx:libui" | |
10 | +clear "stx:libwidg2" => "stx:libui" | |
11 | + | |
12 | +project :'salamander_menueditor:baseline' do | |
13 | + # preamble | |
14 | + | |
15 | + # -------- | |
16 | + | |
17 | + package "stx:libbasic" | |
18 | + package "stx:libbasic2" | |
19 | + package "stx:libcomp" | |
20 | + package "stx:libbasic3" | |
21 | + package "stx:libview" | |
22 | + package "stx:libui" | |
23 | + package "stx:libview2" | |
24 | + package "stx:libwidg" | |
25 | + package "stx:libwidg2" | |
26 | + | |
27 | + | |
28 | + application "ps:salamander_menueditor" | |
29 | + | |
30 | + # postamble | |
31 | + | |
32 | + # --------- | |
33 | + | |
34 | +end |
@@ -0,0 +1,41 @@ | ||
1 | + | |
2 | +# Package dependencies. | |
3 | +# Automatically generated by project defintion. | |
4 | + | |
5 | + | |
6 | +task "stx:libbasic2" => "stx:libbasic" | |
7 | + | |
8 | +task "stx:libbasic3" => "stx:libbasic" | |
9 | + | |
10 | +task "stx:libcomp" => "stx:libbasic" | |
11 | + | |
12 | +task "stx:libui" => "stx:libbasic" | |
13 | + | |
14 | +task "stx:libview" => "stx:libbasic" | |
15 | + | |
16 | +task "stx:libview2" => "stx:libbasic" | |
17 | +task "stx:libview2" => "stx:libbasic2" | |
18 | +task "stx:libview2" => "stx:libview" | |
19 | + | |
20 | +task "stx:libwidg" => "stx:libbasic" | |
21 | +task "stx:libwidg" => "stx:libview" | |
22 | +task "stx:libwidg" => "stx:libview2" | |
23 | + | |
24 | +task "stx:libwidg2" => "stx:libbasic" | |
25 | +task "stx:libwidg2" => "stx:libbasic2" | |
26 | +task "stx:libwidg2" => "stx:libview" | |
27 | +task "stx:libwidg2" => "stx:libview2" | |
28 | +task "stx:libwidg2" => "stx:libwidg" | |
29 | + | |
30 | + | |
31 | +task "ps:salamander_menueditor" => "stx:libbasic" | |
32 | +task "ps:salamander_menueditor" => "stx:libbasic2" | |
33 | +task "ps:salamander_menueditor" => "stx:libbasic3" | |
34 | +task "ps:salamander_menueditor" => "stx:libcomp" | |
35 | +task "ps:salamander_menueditor" => "stx:libui" | |
36 | +task "ps:salamander_menueditor" => "stx:libview" | |
37 | +task "ps:salamander_menueditor" => "stx:libview2" | |
38 | +task "ps:salamander_menueditor" => "stx:libwidg" | |
39 | +task "ps:salamander_menueditor" => "stx:libwidg2" | |
40 | + | |
41 | + |
@@ -0,0 +1,22 @@ | ||
1 | +@REM ------- | |
2 | +@REM make using mingw gnu compiler | |
3 | +@REM type mingwmake, and wait... | |
4 | +@REM do not edit - automatically generated from ProjectDefinition | |
5 | +@REM ------- | |
6 | +@SET DEFINES= | |
7 | +@REM Kludge got Mercurial, cannot be implemented in Borland make | |
8 | +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i | |
9 | +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%" | |
10 | + | |
11 | +@pushd ..\..\stx\rules | |
12 | +@call find_mingw.bat | |
13 | +@popd | |
14 | +make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %* | |
15 | + | |
16 | + | |
17 | +@IF "%1" EQU "exe" exit /b 0 | |
18 | +@IF "%1" EQU "setup" exit /b 0 | |
19 | +@IF "%1" EQU "pluginSetup" exit /b 0 | |
20 | + | |
21 | + | |
22 | + |
@@ -0,0 +1,24 @@ | ||
1 | +/* $Header$ | |
2 | + * | |
3 | + * DO NOT EDIT | |
4 | + * automagically generated from the projectDefinition: ps_salamander_menueditor. | |
5 | + * | |
6 | + * Warning: once you modify this file, do not rerun | |
7 | + * stmkmp or projectDefinition-build again - otherwise, your changes are lost. | |
8 | + */ | |
9 | +typedef void (*vf)(); | |
10 | + | |
11 | +extern void _SalamanderMenuEditor_Init(); | |
12 | +extern void _SalamanderMenuEditorStart_Init(); | |
13 | +extern void _ps_137salamander_137menueditor_Init(); | |
14 | + | |
15 | + | |
16 | +static vf modules[] = { | |
17 | + _SalamanderMenuEditor_Init, | |
18 | +_SalamanderMenuEditorStart_Init, | |
19 | +_ps_137salamander_137menueditor_Init, | |
20 | + | |
21 | + (vf)0 | |
22 | +}; | |
23 | + | |
24 | +vf *__modules__ = modules; |
@@ -0,0 +1,27 @@ | ||
1 | +# $Header$ | |
2 | +# | |
3 | +# DO NOT EDIT | |
4 | +# automagically generated from the projectDefinition: ps_salamander_menueditor. | |
5 | +# | |
6 | +# Warning: once you modify this file, do not rerun | |
7 | +# stmkmp or projectDefinition-build again - otherwise, your changes are lost. | |
8 | +# | |
9 | +# This file is (currently) only used with win-95 / win-NT versions of STX. | |
10 | +# It lists the dll's which are to be loaded at startup time. | |
11 | +# Notice, lines starting with a "#" are comments. | |
12 | +# Lines starting with a "*" are treated as comments by the VM, but are usually loaded | |
13 | +# by the application at the very beginning. | |
14 | +# | |
15 | +# All classes loaded at startup time will be present as precompiled classes. | |
16 | +# Others might be autoloaded or loaded explicit using "Smalltalk loadPackage:xxx". | |
17 | +# | |
18 | +libstx_libbasic | |
19 | +libstx_libbasic2 | |
20 | +libstx_libcomp | |
21 | +libstx_libbasic3 | |
22 | +libstx_libview | |
23 | +libstx_libui | |
24 | +libstx_libview2 | |
25 | +libstx_libwidg | |
26 | +libstx_libwidg2 | |
27 | + |
@@ -0,0 +1,22 @@ | ||
1 | +<?xml version="1.0" encoding="utf8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTP PLIST 1.0//EN" "http//www.apple.com/DTDs/ProperyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | +<key>CFBundlePackageType</key> | |
6 | +<string>APPL</string> | |
7 | +<key>CFBundleExecutable</key> | |
8 | +<string>salamander_menueditor</string> | |
9 | +<key>CFBundleShortVersionString</key> | |
10 | +<string>8.0.32767.32767</string> | |
11 | +<key>CFBundleName</key> | |
12 | +<string>salamander_menueditor</string> | |
13 | +<key>CFBundleInfoDictionaryVersion</key> | |
14 | +<string>6.0</string> | |
15 | +<key>LSMinimumSystemVersion</key> | |
16 | +<string>10.6</string> | |
17 | +<key>CFBundleIdentifier</key> | |
18 | +<string>ps.salamander_menueditor</string> | |
19 | +<key>CFBundleVersion</key> | |
20 | +<string>8.0.32767.32767</string> | |
21 | +</dict> | |
22 | +</plist> |
@@ -0,0 +1,181 @@ | ||
1 | +"{ Package: 'ps:salamander_menueditor' }" | |
2 | + | |
3 | +"{ NameSpace: Smalltalk }" | |
4 | + | |
5 | +ApplicationDefinition subclass:#ps_salamander_menueditor | |
6 | + instanceVariableNames:'' | |
7 | + classVariableNames:'' | |
8 | + poolDictionaries:'' | |
9 | + category:'* Projects & Packages *' | |
10 | +! | |
11 | + | |
12 | + | |
13 | +!ps_salamander_menueditor class methodsFor:'description'! | |
14 | + | |
15 | +excludedFromPreRequisites | |
16 | + "obsolete; temporarily, this is still called for, but will eventually vanish. | |
17 | + | |
18 | + List packages which are to be explicitely excluded from the automatic constructed | |
19 | + prerequisites lists (both). | |
20 | + If empty, everything that is found along the inheritance of any of | |
21 | + my classes is considered to be a prerequisite package." | |
22 | + | |
23 | + ^ #( | |
24 | + ) | |
25 | +! | |
26 | + | |
27 | +isGUIApplication | |
28 | + "return true, if this is a GUI application. | |
29 | + (these need more libraries and use a different startup procedure)" | |
30 | + | |
31 | + ^ true | |
32 | +! | |
33 | + | |
34 | +mandatoryPreRequisites | |
35 | + "list packages which are mandatory as a prerequisite. | |
36 | + This are packages containing superclasses of my classes and classes which | |
37 | + are extended by myself. | |
38 | + They are mandatory, because we need these packages as a prerequisite for loading and compiling. | |
39 | + This method is generated automatically, | |
40 | + by searching along the inheritance chain of all of my classes. | |
41 | + Please take a look at the #referencedPreRequisites method as well." | |
42 | + | |
43 | + ^ #( | |
44 | + #'stx:libbasic' "ApplicationDefinition - superclass of ps_salamander_menueditor" | |
45 | + #'stx:libview2' "ApplicationModel - superclass of SalamanderMenuEditor" | |
46 | + ) | |
47 | +! | |
48 | + | |
49 | +referencedPreRequisites | |
50 | + "list packages which are a prerequisite, because they contain | |
51 | + classes which are referenced by my classes. | |
52 | + These packages are NOT needed as a prerequisite for compiling or loading, | |
53 | + however, a class from it may be referenced during execution and having it | |
54 | + unloaded then may lead to a runtime doesNotUnderstand error, unless the caller | |
55 | + includes explicit checks for the package being present. | |
56 | + This method is generated automatically, | |
57 | + by searching all classes (and their packages) which are referenced by my classes. | |
58 | + Please also take a look at the #mandatoryPreRequisites method" | |
59 | + | |
60 | + ^ #( | |
61 | + ) | |
62 | +! | |
63 | + | |
64 | +subProjects | |
65 | + "list packages which are known as subprojects. | |
66 | + This method is generated automatically; however, when generating automatically, | |
67 | + packages are only added - never removed, unless listed in #excludedFromSubProjects." | |
68 | + | |
69 | + ^ #( | |
70 | +) | |
71 | +! ! | |
72 | + | |
73 | +!ps_salamander_menueditor class methodsFor:'description - contents'! | |
74 | + | |
75 | +classNamesAndAttributes | |
76 | + "lists the classes which are to be included in the project. | |
77 | + Each entry in the list may be: a single class-name (symbol), | |
78 | + or an array-literal consisting of class name and attributes. | |
79 | + Attributes are: #autoload or #<os> where os is one of win32, unix,..." | |
80 | + | |
81 | + ^ #( | |
82 | + "<className> or (<className> attributes...) in load order" | |
83 | + SalamanderMenuEditor | |
84 | + SalamanderMenuEditorStart | |
85 | + #'ps_salamander_menueditor' | |
86 | + ) | |
87 | +! | |
88 | + | |
89 | +extensionMethodNames | |
90 | + "lists the extension methods which are to be included in the project. | |
91 | + Entries are 2-element array literals, consisting of class-name and selector. | |
92 | + A correponding method with real names must be present in my concrete subclasses | |
93 | + if it has extensions." | |
94 | + | |
95 | + ^ #( | |
96 | + ) | |
97 | +! ! | |
98 | + | |
99 | +!ps_salamander_menueditor class methodsFor:'description - project information'! | |
100 | + | |
101 | +applicationIconFileNameLinux | |
102 | + "Return the name (without suffix) of an icon-file (the app's icon). | |
103 | + This is currently unused (will be for desktop definitions)" | |
104 | + | |
105 | + ^ nil | |
106 | + " ^ self applicationName " | |
107 | +! | |
108 | + | |
109 | +applicationIconFileNameOSX | |
110 | + "Return the name (without suffix) of an icon-file (the app's icon). | |
111 | + This is used to create the info.plist file" | |
112 | + | |
113 | + ^ nil | |
114 | + " ^ self applicationName " | |
115 | +! | |
116 | + | |
117 | +applicationIconFileNameWindows | |
118 | + "Return the name (without suffix) of an icon-file (the app's icon). | |
119 | + This will be included in the rc-resource file for Windowsdeployment" | |
120 | + | |
121 | + ^ nil | |
122 | + " ^ self applicationName " | |
123 | +! | |
124 | + | |
125 | +companyName | |
126 | + "Returns a company string which will appear in <lib>.rc. | |
127 | + Under win32, this is placed into the dll's file-info. | |
128 | + Other systems may put it elsewhere, or ignore it." | |
129 | + | |
130 | + ^ 'My Company' | |
131 | +! | |
132 | + | |
133 | +description | |
134 | + "Returns a description string which will appear in nt.def / bc.def" | |
135 | + | |
136 | + ^ 'Application' | |
137 | +! | |
138 | + | |
139 | +legalCopyright | |
140 | + "Returns a copyright string which will appear in <lib>.rc. | |
141 | + Under win32, this is placed into the dll's file-info. | |
142 | + Other systems may put it elsewhere, or ignore it." | |
143 | + | |
144 | + ^ 'My CopyRight or CopyLeft 2018' | |
145 | +! | |
146 | + | |
147 | +productInstallDirBaseName | |
148 | + "Returns a default installDir which will appear in <app>.nsi. | |
149 | + This is usually not the one you want to keep" | |
150 | + | |
151 | + ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last | |
152 | +! | |
153 | + | |
154 | +productName | |
155 | + "Returns a product name which will appear in <lib>.rc. | |
156 | + Under win32, this is placed into the dll's file-info. | |
157 | + This method is usually redefined in a concrete application definition" | |
158 | + | |
159 | + ^ 'ProductName' | |
160 | +! ! | |
161 | + | |
162 | +!ps_salamander_menueditor class methodsFor:'description - startup'! | |
163 | + | |
164 | +startupClassName | |
165 | + "the class that starts the show in its startupSelector method" | |
166 | + | |
167 | + ^ 'SalamanderMenuEditorStart' | |
168 | +! | |
169 | + | |
170 | +startupSelector | |
171 | + "the message that is sent to the startupClass to start the show" | |
172 | + | |
173 | + ^ #'start' | |
174 | +! ! | |
175 | + | |
176 | +!ps_salamander_menueditor class methodsFor:'documentation'! | |
177 | + | |
178 | +version_HG | |
179 | + ^ '$Changeset: <not expanded> $' | |
180 | +! ! | |
181 | + |
@@ -0,0 +1,49 @@ | ||
1 | +// | |
2 | +// DO NOT EDIT | |
3 | +// automagically generated from the projectDefinition: ps_salamander_menueditor. | |
4 | +// | |
5 | +#define IDR_MAINFRAME 128 | |
6 | +#define IDR_SPLASH 129 | |
7 | + | |
8 | +#if (__BORLANDC__) | |
9 | +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US | |
10 | +#endif | |
11 | + | |
12 | +#pragma code_page(1252) | |
13 | + | |
14 | + | |
15 | + | |
16 | +VS_VERSION_INFO VERSIONINFO | |
17 | + FILEVERSION 8,0,32767,32767 | |
18 | + PRODUCTVERSION 8,0,0,0 | |
19 | +#if (__BORLANDC__) | |
20 | + FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE | |
21 | + FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD | |
22 | + FILEOS VOS_NT_WINDOWS32 | |
23 | + FILETYPE VFT_DLL | |
24 | + FILESUBTYPE VS_USER_DEFINED | |
25 | +#else | |
26 | + FILEFLAGSMASK 0x3fL | |
27 | +#endif | |
28 | + | |
29 | +BEGIN | |
30 | + BLOCK "StringFileInfo" | |
31 | + BEGIN | |
32 | + BLOCK "040904E4" | |
33 | + BEGIN | |
34 | + VALUE "CompanyName", "My Company\0" | |
35 | + VALUE "FileDescription", "Application\0" | |
36 | + VALUE "FileVersion", "8.0.32767.32767\0" | |
37 | + VALUE "InternalName", "ps:salamander_menueditor\0" | |
38 | + VALUE "LegalCopyright", "My CopyRight or CopyLeft 2018\0" | |
39 | + VALUE "ProductName", "ProductName\0" | |
40 | + VALUE "ProductVersion", "8.0.0.0\0" | |
41 | + VALUE "ProductDate", "Fri, 27 Apr 2018 09:16:53 GMT\0" | |
42 | + END | |
43 | + END | |
44 | + | |
45 | + BLOCK "VarFileInfo" | |
46 | + BEGIN // Language | Translation | |
47 | + VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual | |
48 | + END | |
49 | +END |
@@ -0,0 +1,213 @@ | ||
1 | +; $Header$ | |
2 | +; Script generated by ProjectDefinition. | |
3 | + | |
4 | +!define PRODUCT_NAME "ProductName" | |
5 | +!define PRODUCT_FILENAME "ProductName" | |
6 | +!define PRODUCT_VERSION "8.0.0.0" | |
7 | +!define PRODUCT_PUBLISHER "My Company" | |
8 | +!define PRODUCT_WEB_SITE "http://www.yoursite.com" | |
9 | +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_FILENAME}" | |
10 | +!define PRODUCT_UNINST_ROOT_KEY "HKLM" | |
11 | + | |
12 | +; | |
13 | +; SETUP_NAME can come from makefile as either setup or setup64 | |
14 | +; | |
15 | +!if "${SETUP_NAME}" == "" | |
16 | +SETUP_NAME="ProductNameSetup" | |
17 | +!endif | |
18 | + | |
19 | +!define STX_ROOT "..\..\stx\.." | |
20 | + | |
21 | +SetCompressor /solid lzma | |
22 | + | |
23 | +!include "MUI2.nsh" | |
24 | +!include "x64.nsh" | |
25 | + | |
26 | +; MUI Settings | |
27 | + | |
28 | +!define MUI_WELCOMEPAGE_TITLE_3LINES | |
29 | +!define MUI_ABORTWARNING | |
30 | +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" | |
31 | +;; !define MUI_ICON "nil.ico" | |
32 | +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" | |
33 | +;; !define MUI_UNICON "nil.ico" | |
34 | + | |
35 | +; Language Selection Dialog Settings | |
36 | +!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" | |
37 | +!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" | |
38 | +!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" | |
39 | + | |
40 | +; Welcome page | |
41 | +!insertmacro MUI_PAGE_WELCOME | |
42 | +; License page | |
43 | +; !define MUI_LICENSEPAGE_CHECKBOX | |
44 | + | |
45 | + | |
46 | +!insertmacro MUI_PAGE_COMPONENTS | |
47 | +; Directory page | |
48 | +!insertmacro MUI_PAGE_DIRECTORY | |
49 | +; Instfiles page | |
50 | +!insertmacro MUI_PAGE_INSTFILES | |
51 | +; Finish page | |
52 | +!insertmacro MUI_PAGE_FINISH | |
53 | + | |
54 | +; Uninstaller pages | |
55 | +!insertmacro MUI_UNPAGE_INSTFILES | |
56 | + | |
57 | +; Language files | |
58 | +!insertmacro MUI_LANGUAGE "English" | |
59 | +!insertmacro MUI_LANGUAGE "German" | |
60 | + | |
61 | +; MUI end ------ | |
62 | + | |
63 | + | |
64 | + | |
65 | +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" | |
66 | +VIProductVersion "${PRODUCT_VERSION}.0" | |
67 | +VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}" | |
68 | +VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}" | |
69 | +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "8.0.32767.32767" | |
70 | +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer" | |
71 | +VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}" | |
72 | +VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "My CopyRight or CopyLeft 2018" | |
73 | + | |
74 | + | |
75 | +OutFile "${SETUP_NAME}.exe" | |
76 | +InstallDir "$PROGRAMFILES\salamander_menueditor" | |
77 | +ShowInstDetails show | |
78 | +ShowUnInstDetails show | |
79 | + | |
80 | +Function .onInit | |
81 | + !insertmacro MUI_LANGDLL_DISPLAY | |
82 | +FunctionEnd | |
83 | + | |
84 | +InstType Full | |
85 | +InstType Partial | |
86 | + | |
87 | +Section "Programme" Section1 | |
88 | + SectionIn 1 2 | |
89 | + SetOutPath "$INSTDIR\bin" | |
90 | + SetOverwrite ifnewer | |
91 | + File "salamander_menueditor.exe" | |
92 | + File "*.dll" | |
93 | + File "symbols.stc" | |
94 | + File "*.stx" | |
95 | + File "*.rc" | |
96 | + File /r /x CVS /x ".*" resources | |
97 | + | |
98 | + | |
99 | + | |
100 | + | |
101 | + | |
102 | + WriteRegStr HKCR "Ps.ProductName.1" "" "ProductName File" | |
103 | + WriteRegStr HKCR "Ps.ProductName.1\DefaultIcon" "" '$INSTDIR\bin\salamander_menueditor.exe,0' | |
104 | + WriteRegStr HKCR "Ps.ProductName.1\Shell\open" "" $(appOpen) | |
105 | + WriteRegStr HKCR "Ps.ProductName.1\Shell\open\command" "" '"$INSTDIR\bin\salamander_menueditor.exe" -- "%1"' | |
106 | +SectionEnd | |
107 | + | |
108 | +;; Section "Online-Documentation for ProductName" Section2 | |
109 | +;; SectionIn 1 | |
110 | +;; SetOutPath "$INSTDIR\doc" | |
111 | +;; SetOverwrite ifnewer | |
112 | +;; File /r /x CVS "${STX_ROOT}\ps\salamander_menueditor\doc\*" | |
113 | +;; SectionEnd | |
114 | + | |
115 | +;; Section "ProductName Libraries and Demos" Section3 | |
116 | +;; SectionIn 1 | |
117 | +;; SetOutPath "$INSTDIR\lib" | |
118 | +;; SetOverwrite ifnewer | |
119 | +;; ; File /r /x CVS "${STX_ROOT}\ps\salamander_menueditor\examples\*" | |
120 | +;; SectionEnd | |
121 | +;; | |
122 | +;; Section "ProductName Reports and Printing" Section4 | |
123 | +;; SectionIn 1 | |
124 | +;; SetOutPath "$INSTDIR\reportGenerator" | |
125 | +;; SetOverwrite ifnewer | |
126 | +;; ; File /r /x CVS "..\reportGenerator\java" "..\reportGenerator\rules" "..\reportGenerator\*.xml" "..\reportGenerator\*.xslt" "..\reportGenerator\CloseApp.exe" "..\reportGenerator\expecco.jpg" | |
127 | +;; SectionEnd | |
128 | + | |
129 | + | |
130 | + | |
131 | + | |
132 | + | |
133 | + | |
134 | + | |
135 | + | |
136 | +Section -AdditionalIcons | |
137 | + SetOutPath "$INSTDIR\bin" | |
138 | + WriteIniStr "$INSTDIR\${PRODUCT_FILENAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" | |
139 | + CreateDirectory "$SMPROGRAMS\${PRODUCT_FILENAME}" | |
140 | + CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\salamander_menueditor.lnk" "$INSTDIR\bin\salamander_menueditor.exe" | |
141 | + CreateShortCut "$DESKTOP\salamander_menueditor.lnk" "$INSTDIR\bin\salamander_menueditor.exe" | |
142 | + CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\Website.lnk" "$INSTDIR\${PRODUCT_FILENAME}.url" | |
143 | + CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\Uninstall.lnk" "$INSTDIR\uninst.exe" | |
144 | +SectionEnd | |
145 | + | |
146 | +Section -Post | |
147 | + WriteUninstaller "$INSTDIR\uninst.exe" | |
148 | + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" | |
149 | + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" | |
150 | + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" | |
151 | + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" | |
152 | + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" | |
153 | +SectionEnd | |
154 | + | |
155 | +LangString appOpen ${LANG_GERMAN} "Mit ProductName öffnen" | |
156 | +LangString appOpen ${LANG_ENGLISH} "Open with ProductName" | |
157 | + | |
158 | +LangString DESC_Section1 ${LANG_ENGLISH} "Program components of ProductName" | |
159 | +LangString DESC_Section1 ${LANG_GERMAN} "Alle Programmkomponenten von ProductName" | |
160 | +;; LangString DESC_Section2 ${LANG_ENGLISH} "Online-Documentation of ProductName" | |
161 | +;; LangString DESC_Section2 ${LANG_GERMAN} "Online-Dokumentation zu ProductName" | |
162 | +;; LangString DESC_Section3 ${LANG_ENGLISH} "Libraries and Demo Projects" | |
163 | +;; LangString DESC_Section3 ${LANG_GERMAN} "Bibliotheken und Beispielprojekte" | |
164 | +;; LangString DESC_Section4 ${LANG_ENGLISH} "Logfile Printing and Report Generation" | |
165 | +;; LangString DESC_Section4 ${LANG_GERMAN} "Drucken und Report-Generierung aus Log-Dateien" | |
166 | +;; LangString DESC_Section3 ${LANG_ENGLISH} "Sources of ST/X (Base-System)" | |
167 | +;; LangString DESC_Section3 ${LANG_GERMAN} "Quellcode von ST/X (Basis-System)" | |
168 | +;; LangString DESC_Section4 ${LANG_ENGLISH} "Sources of ProductName" | |
169 | +;; LangString DESC_Section4 ${LANG_GERMAN} "Quellcode von ProductName" | |
170 | + | |
171 | + | |
172 | +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN | |
173 | + !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1) | |
174 | +;; !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2) | |
175 | +;; !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) | |
176 | +;; !insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4) | |
177 | + | |
178 | +!insertmacro MUI_FUNCTION_DESCRIPTION_END | |
179 | + | |
180 | + | |
181 | + | |
182 | +Function un.onUninstSuccess | |
183 | + HideWindow | |
184 | + MessageBox MB_ICONINFORMATION|MB_OK "ProductName wurde erfolgreich deinstalliert" | |
185 | +FunctionEnd | |
186 | + | |
187 | +Function un.onInit | |
188 | +!insertmacro MUI_UNGETLANGUAGE | |
189 | + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie ProductName und alle seine Komponenten deinstallieren?" IDYES +2 | |
190 | + Abort | |
191 | +FunctionEnd | |
192 | + | |
193 | +Section Uninstall | |
194 | + Delete "$INSTDIR\${PRODUCT_FILENAME}.url" | |
195 | + Delete "$INSTDIR\uninst.exe" | |
196 | + | |
197 | + Delete "$INSTDIR\*" | |
198 | + RMDir /r "$INSTDIR" | |
199 | + | |
200 | + Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\Uninstall.lnk" | |
201 | + Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\Website.lnk" | |
202 | + Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\salamander_menueditor.lnk" | |
203 | + Delete "$DESKTOP\salamander_menueditor.lnk" | |
204 | + | |
205 | + RMDir "$SMPROGRAMS\${PRODUCT_FILENAME}" | |
206 | + | |
207 | + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" | |
208 | + DeleteRegKey HKCR "Ps.ProductName.1" | |
209 | + | |
210 | + | |
211 | + | |
212 | + SetAutoClose true | |
213 | +SectionEnd |
@@ -0,0 +1,26 @@ | ||
1 | +@REM ------- | |
2 | +@REM make using Microsoft Visual C compiler | |
3 | +@REM type vcmake, and wait... | |
4 | +@REM do not edit - automatically generated from ProjectDefinition | |
5 | +@REM ------- | |
6 | + | |
7 | +@if not defined VSINSTALLDIR ( | |
8 | + pushd ..\..\stx\rules | |
9 | + call vcsetup.bat | |
10 | + popd | |
11 | +) | |
12 | +@SET DEFINES= | |
13 | +@REM Kludge got Mercurial, cannot be implemented in Borland make | |
14 | +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i | |
15 | +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%" | |
16 | + | |
17 | + | |
18 | +make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %* | |
19 | + | |
20 | + | |
21 | +@IF "%1" EQU "exe" exit /b 0 | |
22 | +@IF "%1" EQU "setup" exit /b 0 | |
23 | +@IF "%1" EQU "pluginSetup" exit /b 0 | |
24 | + | |
25 | + | |
26 | + |