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 fixprecompile cleantarget pots installer regenbootstrap updatebootstrap update_ecere update_libec update_ecp update_ecc update_ecs ecereaudio
6 include crossplatform.mk
17 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
21 ifneq "$ECERE_AUDIO" "n"
32 HOST_SOV := $(HOST_SO)
34 HOST_SOV := $(HOST_SO)$(LIBVER)
43 ifeq "$(TARGET_ARCH)" "x86_64"
44 ifneq "$(wildcard $(SystemDrive)/Program\ Files )" ""
45 export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
47 export DESTDIR=$(SystemDrive)/Ecere SDK
50 ifdef ProgramFiles(x86)
51 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
54 export DESTDIR=$(ProgramFiles)/Ecere SDK
56 export DESTDIR=$(SystemDrive)/Ecere SDK
66 export DOCDIR=$(DESTDIR)$(prefix)/doc
70 export BINDIR=$(DESTDIR)$(prefix)/bin
74 export LIBDIR=$(BINDIR)
76 export DESTLIBDIR=$(LIBDIR)
79 export SLIBDIR=$(DESTDIR)$(prefix)/lib
81 export DESTSLIBDIR=$(SLIBDIR)
84 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
88 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
110 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
114 export MANDIR=$(DESTDIR)$(prefix)/share/man/
118 export BINDIR=$(DESTDIR)$(prefix)/bin
122 export PREFIXLIBDIR=$(LIBDIR)
124 export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
126 ifeq "$(wildcard $(prefix)/lib/$(TARGET_ARCH) )" ""
127 export PREFIXLIBDIR=$(prefix)/lib
129 ifeq "$(TARGET_ARCH)" "i386-linux-gnu"
130 ifneq "$(wildcard $(prefix)/lib32 )" ""
131 export PREFIXLIBDIR=$(prefix)/lib32
139 CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(call escspace,$(PREFIXLIBDIR))\"
141 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
143 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
145 DESTSLIBDIR := $(DESTLIBDIR)
149 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
153 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
159 OBJDIR := obj$(OBJALT)/
160 OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
161 OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
162 XOBJDIR := obj$(OBJALT)/
163 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
164 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
166 all: prepbinaries ide epj2make documentor eda codeguard ecereaudio
167 @$(call echo,The Ecere SDK is fully built.)
170 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
171 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
172 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
174 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
175 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
176 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
179 bootstrap: outputdirs
180 cd compiler && $(MAKE) $(XBOOT) bootstrap
185 @$(call echo,Building dependencies (host)...)
186 cd deps && $(MAKE) $(XBOOT)
190 @$(call echo,Building dependencies...)
194 ecere: bootstrap deps
196 @$(call echo,Building 2nd stage ecere (host)...)
198 @$(call echo,Building 2nd stage ecere...)
200 cd ecere && $(MAKE) nores $(XBOOT)
201 cd ear && $(MAKE) nores $(XBOOT)
202 cd ecere && $(MAKE) cleaneceretarget
204 @$(call echo,Building 2nd stage ecere...)
210 @$(call echo,Building eC Core Runtime (host)...)
211 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
213 @$(call echo,Building eC Core Runtime...)
214 cd ecere && $(MAKE) -f Makefile.ecereCOM
216 ecerevanilla: bootstrap
217 @$(call echo,Building Vanilla Ecere...)
218 cd ecere && $(MAKE) -f Makefile.vanilla
220 ear: ecere ecerevanilla
221 @$(call echo,Building ear...)
222 cd ear && cd cmd && $(MAKE) cleantarget
226 cd compiler && $(MAKE) fixprecompile
230 @$(call echo,Building 2nd stage compiler (host))
231 cd compiler && $(MAKE) $(XBOOT)
233 @$(call echo,Building 2nd stage compiler)
234 cd compiler && $(MAKE)
236 prepbinaries: compiler ecerecom
237 @$(call echo,Enabling 2nd stage binaries...)
239 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
240 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
241 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
244 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
245 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
246 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
247 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
248 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
249 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
250 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
251 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
252 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
254 ifndef WINDOWS_TARGET
256 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
257 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
258 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
261 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
262 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
263 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
264 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
269 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
270 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
271 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
274 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
275 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
276 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
277 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
278 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
279 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
280 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
281 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
282 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
286 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
287 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
288 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
291 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
292 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
293 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
294 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
298 epj2make: prepbinaries
299 @$(call echo,Building epj2make...)
300 cd epj2make && $(MAKE)
302 ecereaudio: prepbinaries
304 @$(call echo,Building EcereAudio...)
305 cd extras/audio && $(MAKE)
309 @$(call echo,Building IDE...)
312 documentor: prepbinaries
313 @$(call echo,Building Documentor...)
314 cd documentor && $(MAKE)
316 codeguard: prepcodeguard
318 @$(call echo,Building CodeGuard client...)
319 cd codeGuard && $(MAKE)
325 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
329 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
330 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
331 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
334 ifndef WINDOWS_TARGET
336 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
343 @$(call echo,Building EDA (host))
344 cd eda && $(MAKE) $(XBOOT)
346 @$(call echo,Building EDA...)
349 emptyoutput: outputdirs
350 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
351 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
352 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
353 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
354 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
355 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
356 ifdef EDASQLiteCipher
357 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
360 $(call rmq,$(SODESTDIR)$(LP)EcereAudio$(SO))
363 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
364 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
365 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
366 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
367 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
368 ifdef EDASQLiteCipher
369 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
372 $(call rmq,$(SODESTDIR)$(LP)EcereAudio$(SO).0)
374 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
375 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
376 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
377 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
378 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
379 ifdef EDASQLiteCipher
380 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
383 $(call rmq,$(SODESTDIR)$(LP)EcereAudio$(SOV))
386 $(call rmq,$(OBJBINDIR)ear$(E))
387 $(call rmq,$(OBJBINDIR)ecc$(E))
388 $(call rmq,$(OBJBINDIR)ecp$(E))
389 $(call rmq,$(OBJBINDIR)ecs$(E))
390 $(call rmq,$(OBJBINDIR)epj2make$(E))
391 $(call rmq,$(OBJBINDIR)ide$(E))
392 $(call rmq,$(OBJBINDIR)documentor$(E))
394 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
398 cd compiler && $(MAKE) cleantarget
399 cd documentor && $(MAKE) cleantarget
400 cd ear && $(MAKE) cleantarget
401 cd ecere && $(MAKE) cleantarget
402 cd eda && $(MAKE) cleantarget
403 cd epj2make && $(MAKE) cleantarget
404 cd ide && $(MAKE) cleantarget
405 cd installer && $(MAKE) cleantarget
407 cd extras/EcereAudio && $(MAKE) cleantarget
412 cd installer && $(MAKE) OUTPUT_POT=1 pots
416 $(MAKE) prepinstall ARCH=
417 $(MAKE) prepinstall ARCH=x32
418 @$(call echo,Building Ecere runtime for installer...)
419 cd ecere && @$(MAKE) -f Makefile.installer ARCH=x32
420 @$(call echo,Building Installer for Windows...)
421 cd installer && @$(MAKE) ARCH=x32
422 @$(call echo,The Ecere SDK Windows Installer is fully built.)
427 cd deps && $(MAKE) clean
429 cd ecere && $(MAKE) clean
430 cd compiler && $(MAKE) clean
431 cd ear && $(MAKE) clean
432 cd epj2make && $(MAKE) clean
433 cd ide && $(MAKE) clean
434 cd documentor && $(MAKE) clean
436 cd extras/EcereAudio && $(MAKE) clean
439 cd codeGuard && $(MAKE) clean
441 cd eda && $(MAKE) clean
444 realclean: outputdirs
446 cd deps && $(MAKE) realclean
448 cd ecere && $(MAKE) realclean
449 cd compiler && $(MAKE) realclean
450 cd ear && $(MAKE) realclean
451 cd epj2make && $(MAKE) realclean
452 cd ide && $(MAKE) realclean
453 cd documentor && $(MAKE) realclean
455 cd extras/EcereAudio && $(MAKE) realclan
458 cd codeGuard && $(MAKE) realclean
460 cd eda && $(MAKE) realclean
461 $(call rmrq,obj/$(PLATFORM)/)
464 distclean: outputdirs
466 cd deps && $(MAKE) distclean
468 cd ecere && $(MAKE) distclean
469 cd compiler && $(MAKE) distclean
470 cd ear && $(MAKE) distclean
471 cd epj2make && $(MAKE) distclean
472 cd ide && $(MAKE) distclean
473 cd documentor && $(MAKE) distclean
475 cd extras/EcereAudio && $(MAKE) distclean
478 cd codeGuard && $(MAKE) distclean
480 cd eda && $(MAKE) distclean
484 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
487 ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
488 ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
489 ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
490 compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
491 compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
492 compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
493 compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
494 ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
495 epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
496 documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
497 ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
498 eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
499 eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
502 BINARIES += extras/audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV)
506 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
509 ifdef EDASQLiteCipher
510 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
513 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
514 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
515 # Symlinks for libs on Linux
516 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
517 prepinstall: $(DOC) $(BINARIES) outputdirs
520 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
521 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
522 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
523 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
524 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
526 $(call cpq,extras/audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJBINDIR))
528 ifdef EDASQLiteCipher
529 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
534 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
535 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
536 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
537 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
538 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
540 $(call cpq,extras/audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV),$(OBJLIBDIR))
542 ifdef EDASQLiteCipher
543 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
545 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
546 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
547 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
548 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
549 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
550 ifdef EDASQLiteCipher
551 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
554 ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO).0
557 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
558 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
559 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
560 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
561 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
562 ifdef EDASQLiteCipher
563 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
565 ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO)
568 ifndef WINDOWS_TARGET
570 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
571 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
572 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
573 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
574 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
576 $(call cpq,extras/audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJLIBDIR))
578 ifdef EDASQLiteCipher
579 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
584 $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
585 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
586 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
587 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
588 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
589 $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
590 $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
592 $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
594 $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
597 install: prepinstall actualinstall
598 @$(call echo,The Ecere SDK has been installed.)
600 copyonlyinstall: actualinstall
601 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
605 $(call mkdirq,"$(BINDIR)/")
606 $(call mkdirq,"$(DESTSLIBDIR)/")
607 $(call mkdirq,"$(DOCDIR)/")
608 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
609 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
610 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
611 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
612 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
613 ifdef EDASQLiteCipher
614 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
617 $(call cpq,$(OBJBINDIR)$(LP)EcereAudio$(SO),"$(DESTLIBDIR)/")
619 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
620 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
621 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
622 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
623 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
624 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
625 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
627 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
629 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
630 $(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"
631 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
632 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
633 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
637 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
638 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
639 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
640 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
641 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
642 ifdef EDASQLiteCipher
643 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
646 install $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/
648 install $(OBJBINDIR)ide$(E) $(BINDIR)/
649 install $(OBJBINDIR)ear$(E) $(BINDIR)/
650 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
651 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
652 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
653 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
654 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
656 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
658 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
659 install -d $(DOCDIR)/
660 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"
661 install doc/ecere.eCdoc $(DOCDIR)/
662 install doc/ecereCOM.eCdoc $(DOCDIR)/
663 install doc/EDA.eCdoc $(DOCDIR)/
664 mkdir -p $(MANDIR)/man1
665 cp -pRf share/man/man1/* $(MANDIR)/man1
666 mkdir -p $(SAMPLESDIR)
667 cp -pRf samples/* $(SAMPLESDIR)
668 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
669 mkdir -p $(EXTRASDIR)
670 cp -pRf extras/* $(EXTRASDIR)
671 chmod 777 $(EXTRASDIR)/audio
675 ifndef WINDOWS_TARGET
677 mkdir -p $(DESTLIBDIR)/ec
678 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
679 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
680 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
681 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
682 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
683 ifdef EDASQLiteCipher
684 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
687 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)
689 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
690 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
691 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
692 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
693 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
694 ifdef EDASQLiteCipher
695 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
698 ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO).0
700 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
701 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
702 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
703 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
704 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
705 ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
706 ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
707 ifdef EDASQLiteCipher
708 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
711 ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)
714 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
715 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
718 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
719 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
720 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
721 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
722 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
723 ifdef EDASQLiteCipher
724 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
728 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/$(LP)EcereAudio$(SO)
730 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
731 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
732 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
733 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
734 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
735 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
736 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
738 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
740 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
742 install $(INSTALL_FLAGS) -d $(DOCDIR)
744 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
745 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"
746 install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
747 install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
748 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
749 mkdir -p $(MANDIR)/man1
750 cp -pRf share/man/man1/* $(MANDIR)/man1
751 mkdir -p $(SAMPLESDIR)
752 cp -pRf samples/* $(SAMPLESDIR)
753 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
754 mkdir -p $(EXTRASDIR)
755 cp $(CPFLAGS) extras/* $(EXTRASDIR)
756 chmod 777 $(EXTRASDIR)/audio
758 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
759 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
760 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
761 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
762 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
763 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
764 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
765 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
766 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
767 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
768 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
769 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
770 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
771 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
772 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
773 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
774 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
775 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
776 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
777 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecereaudio0
778 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecereaudio0/
784 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
785 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
786 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
787 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
788 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
789 ifdef EDASQLiteCipher
790 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
793 $(call rmq,"$(DESTLIBDIR)/$(LP)EcereAudio$(SO)")
795 $(call rmq,"$(BINDIR)/ide$(E)")
796 $(call rmq,"$(BINDIR)/ear$(E)")
797 $(call rmq,"$(BINDIR)/ecc$(E)")
798 $(call rmq,"$(BINDIR)/ecp$(E)")
799 $(call rmq,"$(BINDIR)/ecs$(E)")
800 $(call rmq,"$(BINDIR)/epj2make$(E)")
801 $(call rmq,"$(BINDIR)/documentor$(E)")
803 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
805 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
806 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
807 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
808 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
809 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
811 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
812 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
813 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
814 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
815 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
816 ifdef EDASQLiteCipher
817 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
819 $(call rmq,"$(DESTLIBDIR)/$(LP)EcereaAudio$(SO).0")
820 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
821 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
822 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
823 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
824 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
825 ifdef EDASQLiteCipher
826 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
829 $(call rmq,"$(DESTLIBDIR)/$(LP)EcereAudio$(SOV)")
831 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
832 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
834 $(call rmdirq,"$(BINDIR)/")
835 $(call rmdirq,"$(DESTLIBDIR)/")
836 $(call rmdirq,"$(DESTSLIBDIR)/")
837 $(call rmdirq,"$(DOCDIR)/")
839 $(call rmdirq,"$(DESTDIR)/")
841 @$(call echo,The Ecere SDK has been uninstalled.)
843 regenbootstrap: update_ecere update_libec update_ecp update_ecc update_ecs
844 @echo Bootstrap regenerated.
846 updatebootstrap: regenbootstrap
847 @echo Copying files...
848 $(call cpq,ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecere/bootstrap)
849 $(call cpq,compiler/libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/libec/bootstrap)
850 $(call cpq,compiler/ecp/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecp/bootstrap)
851 $(call cpq,compiler/ecc/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecc/bootstrap)
852 $(call cpq,compiler/ecs/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecs/bootstrap)
853 @echo Bootstrap updated.
856 @echo Regenerating ecere bootstrapper...
857 cd ecere && $(MAKE) -f Makefile.bootstrap clean
858 cd ecere && $(MAKE) -f Makefile.bootstrap
861 @echo Regenerating ec bootstrapper...
862 cd compiler/libec && $(MAKE) -f Makefile.bootstrap clean
863 cd compiler/libec && $(MAKE) -f Makefile.bootstrap
866 @echo Regenerating ecp bootstrapper...
867 cd compiler/ecp && $(MAKE) -f Makefile.bootstrap clean
868 cd compiler/ecp && $(MAKE) -f Makefile.bootstrap
871 @echo Regenerating ecc bootstrapper...
872 cd compiler/ecc && $(MAKE) -f Makefile.bootstrap clean
873 cd compiler/ecc && $(MAKE) -f Makefile.bootstrap
876 @echo Regenerating ecs bootstrapper...
877 cd compiler/ecs && $(MAKE) -f Makefile.bootstrap clean
878 cd compiler/ecs && $(MAKE) -f Makefile.bootstrap
881 @$(call echo,Printing values of some variables.)
882 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
883 @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
884 @$(call echo,PLATFORM=$(PLATFORM))
885 @$(call echo,LINUX_HOST=$(LINUX_HOST))
886 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
887 @$(call echo,OSX_HOST=$(OSX_HOST))
888 @$(call echo,OSX_TARGET=$(OSX_TARGET))
889 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
890 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
891 @$(call echo,BSD_HOST=$(BSD_HOST))
892 @$(call echo,BSD_TARGET=$(BSD_TARGET))
893 @$(call echo,CCACHE=$(CCACHE))
894 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
895 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
896 @$(call echo,DISTCC=$(DISTCC))
897 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
898 @$(call echo,CC=$(CC))
899 @$(call echo,CPP=$(CPP))
900 @$(call echo,ECP=$(ECP))
901 @$(call echo,ECC=$(ECC))
902 @$(call echo,ECS=$(ECS))
903 @$(call echo,EAR=$(EAR))
904 @$(call echo,AS=$(AS))
905 @$(call echo,LD=$(LD))
906 @$(call echo,AR=$(AR))
907 @$(call echo,STRIP=$(STRIP))
908 @$(call echo,UPX=$(UPX))
909 @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
910 @$(call echo,DESTDIR=$(DESTDIR))
911 @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
912 @$(call echo,ARCH=$(ARCH))
913 @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))
914 @$(call echo,GIT_REPOSITORY=$(GIT_REPOSITORY))
915 @$(call echo,DIR_VER=$(DIR_VER))
916 @$(call echo,REPOSITORY_VER=$(REPOSITORY_VER))
917 @$(call echo,CPPFLAGS=$(CPPFLAGS))