ecere: Switched from libungif to giflib for Linux platforms
[sdk] / Makefile
1 .PHONY: all clean realclean distclean emptyoutput prepinstall actualinstall install copyonlyinstall uninstall troubleshoot outputdirs bootstrap deps ecere ecerecom ecerevanilla ear compiler prepbinaries epj2make ide documentor eda prepcodeguard codeguard
2 .SILENT:
3
4 include crossplatform.mk
5 include default.cf
6
7 ifdef BSD_HOST
8 INSTALL_FLAGS :=
9 CPFLAGS := -pRf
10 else
11 INSTALL_FLAGS := -D
12 CPFLAGS := -dpRf
13 endif
14
15 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
16
17 LIBVER := .0.44
18
19 ifdef WINDOWS_HOST
20 HOST_SOV := $(HOST_SO)
21 else
22 HOST_SOV := $(HOST_SO)$(LIBVER)
23 endif
24
25 ifdef WINDOWS_TARGET
26
27 SOV := $(SO)
28
29 ifndef DESTDIR
30
31 ifeq "$(TARGET_ARCH)" "x86_64"
32    ifneq "$(wildcard $(SystemDrive)/Program\ Files )" ""
33       export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
34    else
35       export DESTDIR=$(SystemDrive)/Ecere SDK
36    endif
37 else
38    ifdef ProgramFiles(x86)
39       export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
40    else
41       ifdef ProgramFiles
42          export DESTDIR=$(ProgramFiles)/Ecere SDK
43       else
44          export DESTDIR=$(SystemDrive)/Ecere SDK
45       endif
46    endif
47 endif
48
49 endif # DESTDIR
50
51 export prefix=
52
53 ifndef DOCDIR
54 export DOCDIR=$(DESTDIR)$(prefix)/doc
55 endif
56
57 ifndef BINDIR
58 export BINDIR=$(DESTDIR)$(prefix)/bin
59 endif
60
61 ifndef LIBDIR
62 export LIBDIR=$(BINDIR)
63 endif
64 export DESTLIBDIR=$(LIBDIR)
65
66 ifndef SLIBDIR
67 export SLIBDIR=$(DESTDIR)$(prefix)/lib
68 endif
69 export DESTSLIBDIR=$(SLIBDIR)
70
71 ifndef SAMPLESDIR
72 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
73 endif
74
75 ifndef EXTRASDIR
76 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
77 endif
78
79
80 else # WINDOWS_TARGET
81
82 ifdef OSX_TARGET
83 # TODO: OSX soname
84 SOV := $(SO)
85 else
86 SOV := $(SO)$(LIBVER)
87 endif
88
89 ifndef DESTDIR
90 export DESTDIR=
91 endif
92
93 ifndef prefix
94 export prefix=/usr
95 endif
96
97 ifndef DOCDIR
98 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
99 endif
100
101 ifndef MANDIR
102 export MANDIR=$(DESTDIR)$(prefix)/share/man/
103 endif
104
105 ifndef BINDIR
106 export BINDIR=$(DESTDIR)$(prefix)/bin
107 endif
108
109 ifdef LIBDIR
110  export PREFIXLIBDIR=$(LIBDIR)
111 else
112  export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
113
114  ifeq "$(wildcard $(prefix)/lib/$(TARGET_ARCH) )" ""
115   export PREFIXLIBDIR=$(prefix)/lib
116
117   ifeq "$(TARGET_ARCH)" "i386-linux-gnu"
118    ifneq "$(wildcard $(prefix)/lib32 )" ""
119     export PREFIXLIBDIR=$(prefix)/lib32
120    endif
121   endif
122
123  endif
124 endif
125
126 export CPPFLAGS
127 CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(PREFIXLIBDIR)\"
128
129 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
130 ifdef SLIBDIR
131 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
132 else
133 DESTSLIBDIR := $(DESTLIBDIR)
134 endif
135
136 ifndef SAMPLESDIR
137 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
138 endif
139
140 ifndef EXTRASDIR
141 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
142 endif
143
144
145 endif
146
147 OBJDIR := obj$(OBJALT)/
148 OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
149 OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
150 XOBJDIR := obj$(OBJALT)/
151 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
152 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
153
154 all: prepbinaries ide epj2make documentor eda codeguard
155         @$(call echo,The Ecere SDK is fully built.)
156
157 outputdirs:
158         $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
159         $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
160         $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
161 ifdef CROSS_TARGET
162         $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
163         $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
164         $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
165 endif
166
167 bootstrap: outputdirs
168         cd compiler && $(MAKE) $(XBOOT) bootstrap
169
170 deps:
171 ifdef CROSS_TARGET
172 ifndef LINUX_HOST
173         @$(call echo,Building dependencies (host)...)
174         cd deps && $(MAKE) $(XBOOT)
175 endif
176 endif
177 ifndef LINUX_TARGET
178         @$(call echo,Building dependencies...)
179         cd deps && $(MAKE)
180 endif
181
182 ecere: bootstrap deps
183 ifdef CROSS_TARGET
184         @$(call echo,Building 2nd stage ecere (host)...)
185 else
186         @$(call echo,Building 2nd stage ecere...)
187 endif
188         cd ecere && $(MAKE) nores $(XBOOT)
189         cd ear && $(MAKE) nores $(XBOOT)
190         cd ecere && $(MAKE) cleaneceretarget
191 ifdef CROSS_TARGET
192         @$(call echo,Building 2nd stage ecere...)
193 endif
194         cd ecere && $(MAKE)
195
196 ecerecom: bootstrap
197 ifdef CROSS_TARGET
198         @$(call echo,Building eC Core Runtime (host)...)
199         cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
200 endif
201         @$(call echo,Building eC Core Runtime...)
202         cd ecere && $(MAKE) -f Makefile.ecereCOM
203
204 ecerevanilla: bootstrap
205         @$(call echo,Building Vanilla Ecere...)
206         cd ecere && $(MAKE) -f Makefile.vanilla
207
208 ear: ecere ecerevanilla
209         @$(call echo,Building ear...)
210         cd ear && cd cmd && $(MAKE) cleantarget
211         cd ear && $(MAKE)
212
213 compiler: ecere ear
214 ifdef CROSS_TARGET
215         @$(call echo,Building 2nd stage compiler (host))
216         cd compiler && $(MAKE) $(XBOOT)
217 endif
218         @$(call echo,Building 2nd stage compiler)
219         cd compiler && $(MAKE)
220
221 prepbinaries: compiler ecerecom
222         @$(call echo,Enabling 2nd stage binaries...)
223 ifdef WINDOWS_TARGET
224         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
225         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
226         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
227 endif
228 ifdef LINUX_TARGET
229         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
230         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
231         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
232         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
233         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
234         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
235         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
236         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
237         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
238 endif
239 ifndef WINDOWS_TARGET
240 ifndef LINUX_TARGET
241         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
242         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
243         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
244 endif
245 endif
246         $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
247         $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
248         $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
249         $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
250
251 ifdef CROSS_TARGET
252
253 ifdef WINDOWS_HOST
254         $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
255         $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
256         $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
257 endif
258 ifdef WINDOWS_HOST
259         $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
260         $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
261         $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
262         ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
263         ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
264         ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
265         ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
266         ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
267         ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
268 endif
269 ifndef WINDOWS_HOST
270 ifndef LINUX_HOST
271         $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
272         $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
273         $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
274 endif
275 endif
276         $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
277         $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
278         $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
279         $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
280
281 endif
282
283 epj2make: prepbinaries
284         @$(call echo,Building epj2make...)
285         cd epj2make && $(MAKE)
286
287 ide: prepbinaries
288         @$(call echo,Building IDE...)
289         cd ide && $(MAKE)
290
291 documentor: prepbinaries
292         @$(call echo,Building Documentor...)
293         cd documentor && $(MAKE)
294
295 codeguard: prepcodeguard
296 ifdef CodeGuard
297         @$(call echo,Building CodeGuard client...)
298         cd codeGuard && $(MAKE)
299 endif
300
301 prepcodeguard: eda
302 ifdef CodeGuard
303 ifdef WINDOWS_TARGET
304         $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
305 endif
306
307 ifdef LINUX_TARGET
308         $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
309         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
310         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
311 endif
312
313 ifndef WINDOWS_TARGET
314 ifndef LINUX_TARGET
315         $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
316 endif
317 endif
318 endif
319
320 eda: prepbinaries
321         @$(call echo,Building EDA...)
322         cd eda && $(MAKE)
323
324 emptyoutput: outputdirs
325         $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
326         $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
327         $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
328         $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
329         $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
330         $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
331 ifdef EDASQLiteCipher
332         $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
333 endif
334 ifdef LINUX_TARGET
335         $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
336         $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
337         $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
338         $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
339         $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
340 ifdef EDASQLiteCipher
341         $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
342 endif
343         $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
344         $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
345         $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
346         $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
347         $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
348 ifdef EDASQLiteCipher
349         $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
350 endif
351 endif   
352         $(call rmq,$(OBJBINDIR)ear$(E))
353         $(call rmq,$(OBJBINDIR)ecc$(E))
354         $(call rmq,$(OBJBINDIR)ecp$(E))
355         $(call rmq,$(OBJBINDIR)ecs$(E))
356         $(call rmq,$(OBJBINDIR)epj2make$(E))
357         $(call rmq,$(OBJBINDIR)ide$(E))
358         $(call rmq,$(OBJBINDIR)documentor$(E))
359 ifdef EDASQLiteCipher
360         $(call rmq,$(OBJBINDIR)CodeGuard$(E))
361 endif
362
363 clean: emptyoutput
364 ifndef LINUX_TARGET
365         cd deps && $(MAKE) clean
366 endif
367         cd ecere && $(MAKE) clean
368         cd compiler && $(MAKE) clean
369         cd ear && $(MAKE) clean
370         cd epj2make && $(MAKE) clean
371         cd ide && $(MAKE) clean
372         cd documentor && $(MAKE) clean
373 ifdef CodeGuard
374         cd codeGuard && $(MAKE) clean
375 endif
376         cd eda && $(MAKE) clean
377         @$(call echo,Done.)
378
379 realclean: outputdirs
380 ifndef LINUX_TARGET
381         cd deps && $(MAKE) realclean
382 endif
383         cd ecere && $(MAKE) realclean
384         cd compiler && $(MAKE) realclean
385         cd ear && $(MAKE) realclean
386         cd epj2make && $(MAKE) realclean
387         cd ide && $(MAKE) realclean
388         cd documentor && $(MAKE) realclean
389 ifdef CodeGuard
390         cd codeGuard && $(MAKE) realclean
391 endif
392         cd eda && $(MAKE) realclean
393         $(call rmrq,obj/$(PLATFORM)/)
394         @$(call echo,Done.)
395
396 distclean: outputdirs
397 ifndef LINUX_TARGET
398         cd deps && $(MAKE) distclean
399 endif
400         cd ecere && $(MAKE) distclean
401         cd compiler && $(MAKE) distclean
402         cd ear && $(MAKE) distclean
403         cd epj2make && $(MAKE) distclean
404         cd ide && $(MAKE) distclean
405         cd documentor && $(MAKE) distclean
406 ifdef CodeGuard
407         cd codeGuard && $(MAKE) distclean
408 endif
409         cd eda && $(MAKE) distclean
410         $(call rmrq,obj/)
411         @$(call echo,Done.)
412
413 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
414
415 BINARIES = \
416         ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
417         ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
418         ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
419         compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
420         compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
421         compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
422         compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
423         ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
424         epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
425         documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
426         ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
427         eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
428         eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
429
430 ifdef CodeGuard
431 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
432 endif
433
434 ifdef EDASQLiteCipher
435 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
436 endif
437
438 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
439 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
440 # Symlinks for libs on Linux
441 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
442 prepinstall: $(DOC) $(BINARIES) outputdirs
443
444 ifdef WINDOWS_TARGET
445         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
446         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
447         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
448         $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
449         $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
450 ifdef EDASQLiteCipher
451         $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
452 endif
453 endif
454
455 ifdef LINUX_TARGET
456         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
457         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
458         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
459         $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
460         $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
461 ifdef EDASQLiteCipher
462         $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
463 endif
464         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
465         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
466         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
467         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
468         ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
469 ifdef EDASQLiteCipher
470         ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
471 endif
472         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
473         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
474         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
475         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
476         ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
477 ifdef EDASQLiteCipher
478         ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
479 endif
480 endif
481
482 ifndef WINDOWS_TARGET
483 ifndef LINUX_TARGET
484         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
485         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
486         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
487         $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
488         $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
489 ifdef EDASQLiteCipher
490         $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
491 endif
492 endif
493 endif
494
495         $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
496         $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
497         $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
498         $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
499         $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
500         $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
501         $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
502 ifdef CodeGuard
503         $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
504 endif
505         $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
506
507 #TODO: Samples?
508 install: prepinstall actualinstall
509         @$(call echo,The Ecere SDK has been installed.)
510
511 copyonlyinstall: actualinstall
512         @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
513
514 actualinstall:
515 ifdef WINDOWS_TARGET
516         $(call mkdirq,"$(BINDIR)/")
517         $(call mkdirq,"$(DESTSLIBDIR)/")
518         $(call mkdirq,"$(DOCDIR)/")
519         $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
520         $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
521         $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
522         $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
523         $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
524 ifdef EDASQLiteCipher
525         $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
526 endif
527         $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
528         $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
529         $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
530         $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
531         $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
532         $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
533         $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
534 ifdef CodeGuard
535         $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
536 endif
537         $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
538         $(call cpq,doc/tao.pdf,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf") || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
539         $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
540         $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
541         $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
542 endif
543
544 ifdef OSX_TARGET
545         install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
546         install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
547         install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
548         install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
549         install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
550 ifdef EDASQLiteCipher
551         install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
552 endif
553         install $(OBJBINDIR)ide$(E) $(BINDIR)/
554         install $(OBJBINDIR)ear$(E) $(BINDIR)/
555         install $(OBJBINDIR)ecc$(E) $(BINDIR)/
556         install $(OBJBINDIR)ecp$(E) $(BINDIR)/
557         install $(OBJBINDIR)ecs$(E) $(BINDIR)/
558         install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
559         install $(OBJBINDIR)documentor$(E) $(BINDIR)/
560 ifdef CodeGuard
561         install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
562 endif
563         install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
564         install -d $(DOCDIR)/
565         install doc/tao.pdf $(DOCDIR)/"Ecere Tao of Programming [work in progress].pdf" >/dev/null 2>&1 || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
566         install doc/ecere.eCdoc $(DOCDIR)/
567         install doc/ecereCOM.eCdoc $(DOCDIR)/
568         install doc/EDA.eCdoc $(DOCDIR)/
569         mkdir -p $(MANDIR)/man1
570         cp -pRf share/man/man1/* $(MANDIR)/man1
571         mkdir -p $(SAMPLESDIR)
572         cp -pRf samples/* $(SAMPLESDIR)
573         find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
574         mkdir -p $(EXTRASDIR)
575         cp -pRf extras/* $(EXTRASDIR)
576         chmod 777 $(EXTRASDIR)/audio
577 endif
578
579 ifndef OSX_TARGET
580 ifndef WINDOWS_TARGET
581 ifdef LINUX_TARGET
582         mkdir -p $(DESTLIBDIR)/ec
583         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
584         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
585         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
586         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
587         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
588 ifdef EDASQLiteCipher
589         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
590 endif
591         ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
592         ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
593         ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
594         ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
595         ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
596 ifdef EDASQLiteCipher
597         ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
598 endif
599         ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
600         ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
601         ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
602         ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
603         ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
604         ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
605         ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
606 ifdef EDASQLiteCipher
607         ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
608 endif
609 ifndef BSD_HOST
610         install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
611         install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
612 endif
613 else
614         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
615         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
616         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
617         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
618         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
619 ifdef EDASQLiteCipher
620         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
621 endif
622 endif
623         install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
624         install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
625         install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
626         install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
627         install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
628         install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
629         install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
630 ifdef CodeGuard
631         install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
632 endif
633         install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
634 ifdef BSD_HOST
635         install $(INSTALL_FLAGS) -d $(DOCDIR)
636 endif
637         install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
638         install $(INSTALL_FLAGS) -m 644 doc/tao.pdf $(DOCDIR)/"Ecere Tao of Programming [work in progress].pdf" >/dev/null 2>&1 || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
639         install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
640         install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
641         install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
642         mkdir -p $(MANDIR)/man1
643         cp -pRf share/man/man1/* $(MANDIR)/man1
644         mkdir -p $(SAMPLESDIR)
645         cp -pRf samples/* $(SAMPLESDIR)
646         find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
647         mkdir -p $(EXTRASDIR)
648         cp $(CPFLAGS) extras/* $(EXTRASDIR)
649         chmod 777 $(EXTRASDIR)/audio
650 ifdef DEBIAN_PACKAGE
651         mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
652         install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
653         gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
654         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
655         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
656         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
657         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
658         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
659         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
660         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
661         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
662         mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
663         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
664         mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
665         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
666         mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
667         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
668         mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
669         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
670 endif
671 endif
672 endif
673
674 uninstall:
675         $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
676         $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
677         $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
678         $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
679         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
680 ifdef EDASQLiteCipher
681         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
682 endif
683         $(call rmq,"$(BINDIR)/ide$(E)")
684         $(call rmq,"$(BINDIR)/ear$(E)")
685         $(call rmq,"$(BINDIR)/ecc$(E)")
686         $(call rmq,"$(BINDIR)/ecp$(E)")
687         $(call rmq,"$(BINDIR)/ecs$(E)")
688         $(call rmq,"$(BINDIR)/epj2make$(E)")
689         $(call rmq,"$(BINDIR)/documentor$(E)")
690 ifdef CodeGuard
691         $(call rmq,"$(BINDIR)/CodeGuard$(E)")
692 endif
693         $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
694         $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
695         $(call rmq,"$(DOCDIR)/ecere.eCdoc")
696         $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
697         $(call rmq,"$(DOCDIR)/EDA.eCdoc")
698 ifdef LINUX_TARGET
699         $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
700         $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
701         $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
702         $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
703         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
704 ifdef EDASQLiteCipher
705         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
706 endif
707         $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
708         $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
709         $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
710         $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
711         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
712 ifdef EDASQLiteCipher
713         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
714 endif
715         $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
716         $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
717 endif
718         $(call rmdirq,"$(BINDIR)/")
719         $(call rmdirq,"$(DESTLIBDIR)/")
720         $(call rmdirq,"$(DESTSLIBDIR)/")
721         $(call rmdirq,"$(DOCDIR)/")
722 ifdef WINDOWS_TARGET
723         $(call rmdirq,"$(DESTDIR)/")
724 endif
725         @$(call echo,The Ecere SDK has been uninstalled.)
726
727 troubleshoot:
728         @$(call echo,Printing values of some variables.)
729         @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
730         @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
731         @$(call echo,PLATFORM=$(PLATFORM))
732         @$(call echo,LINUX_HOST=$(LINUX_HOST))
733         @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
734         @$(call echo,OSX_HOST=$(OSX_HOST))
735         @$(call echo,OSX_TARGET=$(OSX_TARGET))
736         @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
737         @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
738         @$(call echo,BSD_HOST=$(BSD_HOST))
739         @$(call echo,BSD_TARGET=$(BSD_TARGET))
740         @$(call echo,CCACHE=$(CCACHE))
741         @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
742         @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
743         @$(call echo,DISTCC=$(DISTCC))
744         @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
745         @$(call echo,CC=$(CC))
746         @$(call echo,CPP=$(CPP))
747         @$(call echo,ECP=$(ECP))
748         @$(call echo,ECC=$(ECC))
749         @$(call echo,ECS=$(ECS))
750         @$(call echo,EAR=$(EAR))
751         @$(call echo,AS=$(AS))
752         @$(call echo,LD=$(LD))
753         @$(call echo,AR=$(AR))
754         @$(call echo,STRIP=$(STRIP))
755         @$(call echo,UPX=$(UPX))
756         @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
757         @$(call echo,DESTDIR=$(DESTDIR))
758         @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
759         @$(call echo,ARCH=$(ARCH))
760         @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))