Makefiles: Fixed some target/host confusions
[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         @$(call echo,Building dependencies (host)...)
173         cd deps && $(MAKE) $(XBOOT)
174 endif
175         @$(call echo,Building dependencies...)
176         cd deps && $(MAKE)
177
178 ecere: bootstrap deps
179 ifdef CROSS_TARGET
180         @$(call echo,Building 2nd stage ecere (host)...)
181 else
182         @$(call echo,Building 2nd stage ecere...)
183 endif
184         cd ecere && $(MAKE) nores $(XBOOT)
185         cd ear && $(MAKE) nores $(XBOOT)
186         cd ecere && $(MAKE) cleaneceretarget
187 ifdef CROSS_TARGET
188         @$(call echo,Building 2nd stage ecere...)
189 endif
190         cd ecere && $(MAKE)
191
192 ecerecom: bootstrap
193 ifdef CROSS_TARGET
194         @$(call echo,Building eC Core Runtime (host)...)
195         cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
196 endif
197         @$(call echo,Building eC Core Runtime...)
198         cd ecere && $(MAKE) -f Makefile.ecereCOM
199
200 ecerevanilla: bootstrap
201         @$(call echo,Building Vanilla Ecere...)
202         cd ecere && $(MAKE) -f Makefile.vanilla
203
204 ear: ecere ecerevanilla
205         @$(call echo,Building ear...)
206         cd ear && cd cmd && $(MAKE) cleantarget
207         cd ear && $(MAKE)
208
209 compiler: ecere ear
210 ifdef CROSS_TARGET
211         @$(call echo,Building 2nd stage compiler (host))
212         cd compiler && $(MAKE) $(XBOOT)
213 endif
214         @$(call echo,Building 2nd stage compiler)
215         cd compiler && $(MAKE)
216
217 prepbinaries: compiler ecerecom
218         @$(call echo,Enabling 2nd stage binaries...)
219 ifdef WINDOWS_TARGET
220         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
221         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
222         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
223 endif
224 ifdef LINUX_TARGET
225         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
226         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
227         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
228         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
229         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
230         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
231         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
232         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
233         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
234 endif
235 ifndef WINDOWS_TARGET
236 ifndef LINUX_TARGET
237         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
238         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
239         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
240 endif
241 endif
242         $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
243         $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
244         $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
245         $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
246
247 ifdef CROSS_TARGET
248
249 ifdef WINDOWS_HOST
250         $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
251         $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
252         $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
253 endif
254 ifdef WINDOWS_HOST
255         $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
256         $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
257         $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
258         ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
259         ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
260         ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
261         ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
262         ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
263         ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
264 endif
265 ifndef WINDOWS_HOST
266 ifndef LINUX_HOST
267         $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
268         $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
269         $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
270 endif
271 endif
272         $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
273         $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
274         $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
275         $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
276
277 endif
278
279 epj2make: prepbinaries
280         @$(call echo,Building epj2make...)
281         cd epj2make && $(MAKE)
282
283 ide: prepbinaries
284         @$(call echo,Building IDE...)
285         cd ide && $(MAKE)
286
287 documentor: prepbinaries
288         @$(call echo,Building Documentor...)
289         cd documentor && $(MAKE)
290
291 codeguard: prepcodeguard
292 ifdef CodeGuard
293         @$(call echo,Building CodeGuard client...)
294         cd codeGuard && $(MAKE)
295 endif
296
297 prepcodeguard: eda
298 ifdef CodeGuard
299 ifdef WINDOWS_TARGET
300         $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
301 endif
302
303 ifdef LINUX_TARGET
304         $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
305         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
306         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
307 endif
308
309 ifndef WINDOWS_TARGET
310 ifndef LINUX_TARGET
311         $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
312 endif
313 endif
314 endif
315
316 eda: prepbinaries
317         @$(call echo,Building EDA...)
318         cd eda && $(MAKE)
319
320 emptyoutput: outputdirs
321         $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
322         $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
323         $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
324         $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
325         $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
326         $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
327 ifdef EDASQLiteCipher
328         $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
329 endif
330 ifdef LINUX_TARGET
331         $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
332         $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
333         $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
334         $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
335         $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
336 ifdef EDASQLiteCipher
337         $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
338 endif
339         $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
340         $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
341         $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
342         $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
343         $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
344 ifdef EDASQLiteCipher
345         $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
346 endif
347 endif   
348         $(call rmq,$(OBJBINDIR)ear$(E))
349         $(call rmq,$(OBJBINDIR)ecc$(E))
350         $(call rmq,$(OBJBINDIR)ecp$(E))
351         $(call rmq,$(OBJBINDIR)ecs$(E))
352         $(call rmq,$(OBJBINDIR)epj2make$(E))
353         $(call rmq,$(OBJBINDIR)ide$(E))
354         $(call rmq,$(OBJBINDIR)documentor$(E))
355 ifdef EDASQLiteCipher
356         $(call rmq,$(OBJBINDIR)CodeGuard$(E))
357 endif
358
359 clean: emptyoutput
360         cd deps && $(MAKE) clean
361         cd ecere && $(MAKE) clean
362         cd compiler && $(MAKE) clean
363         cd ear && $(MAKE) clean
364         cd epj2make && $(MAKE) clean
365         cd ide && $(MAKE) clean
366         cd documentor && $(MAKE) clean
367 ifdef CodeGuard
368         cd codeGuard && $(MAKE) clean
369 endif
370         cd eda && $(MAKE) clean
371         @$(call echo,Done.)
372
373 realclean: outputdirs
374         cd deps && $(MAKE) realclean
375         cd ecere && $(MAKE) realclean
376         cd compiler && $(MAKE) realclean
377         cd ear && $(MAKE) realclean
378         cd epj2make && $(MAKE) realclean
379         cd ide && $(MAKE) realclean
380         cd documentor && $(MAKE) realclean
381 ifdef CodeGuard
382         cd codeGuard && $(MAKE) realclean
383 endif
384         cd eda && $(MAKE) realclean
385         $(call rmrq,obj/$(PLATFORM)/)
386         @$(call echo,Done.)
387
388 distclean: outputdirs
389         cd deps && $(MAKE) distclean
390         cd ecere && $(MAKE) distclean
391         cd compiler && $(MAKE) distclean
392         cd ear && $(MAKE) distclean
393         cd epj2make && $(MAKE) distclean
394         cd ide && $(MAKE) distclean
395         cd documentor && $(MAKE) distclean
396 ifdef CodeGuard
397         cd codeGuard && $(MAKE) distclean
398 endif
399         cd eda && $(MAKE) distclean
400         $(call rmrq,obj/)
401         @$(call echo,Done.)
402
403 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
404
405 BINARIES = \
406         ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
407         ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
408         ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
409         compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
410         compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
411         compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
412         compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
413         ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
414         epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
415         documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
416         ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
417         eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
418         eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
419
420 ifdef CodeGuard
421 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
422 endif
423
424 ifdef EDASQLiteCipher
425 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
426 endif
427
428 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
429 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
430 # Symlinks for libs on Linux
431 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
432 prepinstall: $(DOC) $(BINARIES) outputdirs
433
434 ifdef WINDOWS_TARGET
435         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
436         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
437         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
438         $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
439         $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
440 ifdef EDASQLiteCipher
441         $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
442 endif
443 endif
444
445 ifdef LINUX_TARGET
446         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
447         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
448         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
449         $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
450         $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
451 ifdef EDASQLiteCipher
452         $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
453 endif
454         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
455         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
456         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
457         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
458         ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
459 ifdef EDASQLiteCipher
460         ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
461 endif
462         ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
463         ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
464         ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
465         ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
466         ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
467 ifdef EDASQLiteCipher
468         ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
469 endif
470 endif
471
472 ifndef WINDOWS_TARGET
473 ifndef LINUX_TARGET
474         $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
475         $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
476         $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
477         $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
478         $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
479 ifdef EDASQLiteCipher
480         $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
481 endif
482 endif
483 endif
484
485         $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
486         $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
487         $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
488         $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
489         $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
490         $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
491         $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
492 ifdef CodeGuard
493         $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
494 endif
495         $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
496
497 #TODO: Samples?
498 install: prepinstall actualinstall
499         @$(call echo,The Ecere SDK has been installed.)
500
501 copyonlyinstall: actualinstall
502         @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
503
504 actualinstall:
505 ifdef WINDOWS_TARGET
506         $(call mkdirq,"$(BINDIR)/")
507         $(call mkdirq,"$(DESTSLIBDIR)/")
508         $(call mkdirq,"$(DOCDIR)/")
509         $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
510         $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
511         $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
512         $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
513         $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
514 ifdef EDASQLiteCipher
515         $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
516 endif
517         $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
518         $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
519         $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
520         $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
521         $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
522         $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
523         $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
524 ifdef CodeGuard
525         $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
526 endif
527         $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
528         $(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"
529         $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
530         $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
531         $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
532 endif
533
534 ifdef OSX_TARGET
535         install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
536         install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
537         install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
538         install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
539         install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
540 ifdef EDASQLiteCipher
541         install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
542 endif
543         install $(OBJBINDIR)ide$(E) $(BINDIR)/
544         install $(OBJBINDIR)ear$(E) $(BINDIR)/
545         install $(OBJBINDIR)ecc$(E) $(BINDIR)/
546         install $(OBJBINDIR)ecp$(E) $(BINDIR)/
547         install $(OBJBINDIR)ecs$(E) $(BINDIR)/
548         install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
549         install $(OBJBINDIR)documentor$(E) $(BINDIR)/
550 ifdef CodeGuard
551         install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
552 endif
553         install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
554         install -d $(DOCDIR)/
555         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"
556         install doc/ecere.eCdoc $(DOCDIR)/
557         install doc/ecereCOM.eCdoc $(DOCDIR)/
558         install doc/EDA.eCdoc $(DOCDIR)/
559         mkdir -p $(MANDIR)/man1
560         cp -pRf share/man/man1/* $(MANDIR)/man1
561         mkdir -p $(SAMPLESDIR)
562         cp -pRf samples/* $(SAMPLESDIR)
563         find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
564         mkdir -p $(EXTRASDIR)
565         cp -pRf extras/* $(EXTRASDIR)
566         chmod 777 $(EXTRASDIR)/audio
567 endif
568
569 ifndef OSX_TARGET
570 ifndef WINDOWS_TARGET
571 ifdef LINUX_TARGET
572         mkdir -p $(DESTLIBDIR)/ec
573         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
574         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
575         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
576         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
577         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
578 ifdef EDASQLiteCipher
579         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
580 endif
581         ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
582         ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
583         ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
584         ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
585         ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
586 ifdef EDASQLiteCipher
587         ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
588 endif
589         ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
590         ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
591         ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
592         ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
593         ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
594         ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
595         ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
596 ifdef EDASQLiteCipher
597         ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
598 endif
599 ifndef BSD_HOST
600         install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
601         install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
602 endif
603 else
604         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
605         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
606         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
607         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
608         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
609 ifdef EDASQLiteCipher
610         install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
611 endif
612 endif
613         install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
614         install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
615         install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
616         install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
617         install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
618         install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
619         install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
620 ifdef CodeGuard
621         install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
622 endif
623         install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
624         install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
625         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"
626         install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
627         install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
628         install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
629         mkdir -p $(MANDIR)/man1
630         cp -pRf share/man/man1/* $(MANDIR)/man1
631         mkdir -p $(SAMPLESDIR)
632         cp -pRf samples/* $(SAMPLESDIR)
633         find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
634         mkdir -p $(EXTRASDIR)
635         cp $(CPFLAGS) extras/* $(EXTRASDIR)
636         chmod 777 $(EXTRASDIR)/audio
637 ifdef DEBIAN_PACKAGE
638         mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
639         install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
640         gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
641         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
642         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
643         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
644         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
645         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
646         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
647         mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
648         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
649         mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
650         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
651         mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
652         cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
653         mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
654         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
655         mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
656         ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
657 endif
658 endif
659 endif
660
661 uninstall:
662         $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
663         $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
664         $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
665         $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
666         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
667 ifdef EDASQLiteCipher
668         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
669 endif
670         $(call rmq,"$(BINDIR)/ide$(E)")
671         $(call rmq,"$(BINDIR)/ear$(E)")
672         $(call rmq,"$(BINDIR)/ecc$(E)")
673         $(call rmq,"$(BINDIR)/ecp$(E)")
674         $(call rmq,"$(BINDIR)/ecs$(E)")
675         $(call rmq,"$(BINDIR)/epj2make$(E)")
676         $(call rmq,"$(BINDIR)/documentor$(E)")
677 ifdef CodeGuard
678         $(call rmq,"$(BINDIR)/CodeGuard$(E)")
679 endif
680         $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
681         $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
682         $(call rmq,"$(DOCDIR)/ecere.eCdoc")
683         $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
684         $(call rmq,"$(DOCDIR)/EDA.eCdoc")
685 ifdef LINUX_TARGET
686         $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
687         $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
688         $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
689         $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
690         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
691 ifdef EDASQLiteCipher
692         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
693 endif
694         $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
695         $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
696         $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
697         $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
698         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
699 ifdef EDASQLiteCipher
700         $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
701 endif
702         $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
703         $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
704 endif
705         $(call rmdirq,"$(BINDIR)/")
706         $(call rmdirq,"$(DESTLIBDIR)/")
707         $(call rmdirq,"$(DESTSLIBDIR)/")
708         $(call rmdirq,"$(DOCDIR)/")
709 ifdef WINDOWS_TARGET
710         $(call rmdirq,"$(DESTDIR)/")
711 endif
712         @$(call echo,The Ecere SDK has been uninstalled.)
713
714 troubleshoot:
715         @$(call echo,Printing values of some variables.)
716         @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
717         @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
718         @$(call echo,PLATFORM=$(PLATFORM))
719         @$(call echo,LINUX_HOST=$(LINUX_HOST))
720         @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
721         @$(call echo,OSX_HOST=$(OSX_HOST))
722         @$(call echo,OSX_TARGET=$(OSX_TARGET))
723         @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
724         @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
725         @$(call echo,BSD_HOST=$(BSD_HOST))
726         @$(call echo,BSD_TARGET=$(BSD_TARGET))
727         @$(call echo,CCACHE=$(CCACHE))
728         @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
729         @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
730         @$(call echo,DISTCC=$(DISTCC))
731         @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
732         @$(call echo,CC=$(CC))
733         @$(call echo,CPP=$(CPP))
734         @$(call echo,ECP=$(ECP))
735         @$(call echo,ECC=$(ECC))
736         @$(call echo,ECS=$(ECS))
737         @$(call echo,EAR=$(EAR))
738         @$(call echo,AS=$(AS))
739         @$(call echo,LD=$(LD))
740         @$(call echo,AR=$(AR))
741         @$(call echo,STRIP=$(STRIP))
742         @$(call echo,UPX=$(UPX))
743         @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
744         @$(call echo,DESTDIR=$(DESTDIR))
745         @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
746         @$(call echo,ARCH=$(ARCH))
747         @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))