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),)
36 HOST_SOV := $(HOST_SO)
38 HOST_SOV := $(HOST_SO)$(LIBVER)
47 ifeq ($(TARGET_ARCH),x86_64)
48 ifneq ($(wildcard $(SystemDrive)/Program\ Files ),)
49 export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
51 export DESTDIR=$(SystemDrive)/Ecere SDK
54 ifdef ProgramFiles(x86)
55 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
58 export DESTDIR=$(ProgramFiles)/Ecere SDK
60 export DESTDIR=$(SystemDrive)/Ecere SDK
70 export DOCDIR=$(DESTDIR)$(prefix)/doc
74 export BINDIR=$(DESTDIR)$(prefix)/bin
78 export LIBDIR=$(BINDIR)
80 export DESTLIBDIR=$(LIBDIR)
83 export SLIBDIR=$(DESTDIR)$(prefix)/lib
85 export DESTSLIBDIR=$(SLIBDIR)
88 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
92 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
102 SOV := $(SO)$(LIBVER)
114 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
118 export MANDIR=$(DESTDIR)$(prefix)/share/man
122 export BINDIR=$(DESTDIR)$(prefix)/bin
126 export PREFIXLIBDIR=$(LIBDIR)
128 export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
130 ifeq ($(wildcard $(prefix)/lib/$(TARGET_ARCH) ),)
131 export PREFIXLIBDIR=$(prefix)/lib
133 ifeq ($(TARGET_ARCH),i386-linux-gnu)
134 ifneq ($(wildcard $(prefix)/lib32 ),)
135 export PREFIXLIBDIR=$(prefix)/lib32
143 CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(call escspace,$(PREFIXLIBDIR))\"
145 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
147 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
149 DESTSLIBDIR := $(DESTLIBDIR)
153 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
157 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
163 OBJDIR := obj$(OBJALT)/
164 OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
165 OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
166 XOBJDIR := obj$(OBJALT)/
167 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
168 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
170 all: prepbinaries ide epj2make documentor eda codeguard ecereaudio
171 @$(call echo,The Ecere SDK is fully built.)
174 $(if $(wildcard $(OBJDIR)),,$(call mkdir,$(OBJDIR)))
175 $(if $(wildcard $(OBJBINDIR)),,$(call mkdir,$(OBJBINDIR)))
176 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdir,$(OBJLIBDIR)))
178 $(if $(wildcard $(XOBJDIR)),,$(call mkdir,$(XOBJDIR)))
179 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdir,$(XOBJBINDIR)))
180 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdir,$(XOBJLIBDIR)))
183 bootstrap: outputdirs
184 cd compiler && $(MAKE) $(XBOOT) bootstrap
189 @$(call echo,Building dependencies (host)...)
190 cd deps && $(MAKE) $(XBOOT)
194 @$(call echo,Building dependencies...)
198 ecere: bootstrap deps
200 @$(call echo,Building 2nd stage ecere (host)...)
202 @$(call echo,Building 2nd stage ecere...)
204 cd ecere && $(MAKE) nores $(XBOOT)
205 cd ear && $(MAKE) nores $(XBOOT)
206 cd ecere && $(MAKE) cleaneceretarget
208 @$(call echo,Building 2nd stage ecere...)
214 @$(call echo,Building eC Core Runtime (host)...)
215 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
217 @$(call echo,Building eC Core Runtime...)
218 cd ecere && $(MAKE) -f Makefile.ecereCOM
220 ecerevanilla: bootstrap
221 @$(call echo,Building Vanilla Ecere...)
222 cd ecere && $(MAKE) -f Makefile.vanilla
224 ear: ecere ecerevanilla
225 @$(call echo,Building ear...)
226 cd ear && cd cmd && $(MAKE) cleantarget
230 cd compiler && $(MAKE) fixprecompile
234 @$(call echo,Building 2nd stage compiler (host))
235 cd compiler && $(MAKE) $(XBOOT)
237 @$(call echo,Building 2nd stage compiler)
238 cd compiler && $(MAKE)
240 prepbinaries: compiler ecerecom
241 @$(call echo,Enabling 2nd stage binaries...)
243 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
244 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
245 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
248 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
249 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
250 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
251 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
252 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
253 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
254 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
255 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
256 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
258 ifndef WINDOWS_TARGET
260 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
261 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
262 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
265 $(call cp,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
266 $(call cp,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
267 $(call cp,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
268 $(call cp,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
273 $(call cp,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
274 $(call cp,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
275 $(call cp,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
278 $(call cp,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
279 $(call cp,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
280 $(call cp,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
281 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
282 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
283 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
284 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
285 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
286 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
290 $(call cp,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
291 $(call cp,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
292 $(call cp,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
295 $(call cp,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
296 $(call cp,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
297 $(call cp,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
298 $(call cp,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
302 epj2make: prepbinaries
303 @$(call echo,Building epj2make...)
304 cd epj2make && $(MAKE)
306 ecereaudio: prepbinaries
307 ifneq ($(ECERE_AUDIO),n)
308 @$(call echo,Building EcereAudio...)
313 @$(call echo,Building IDE...)
316 documentor: prepbinaries
317 @$(call echo,Building Documentor...)
318 cd documentor && $(MAKE)
320 codeguard: prepcodeguard
322 @$(call echo,Building CodeGuard client...)
323 cd codeGuard && $(MAKE)
329 $(call cp,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
333 $(call cp,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
334 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
335 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
338 ifndef WINDOWS_TARGET
340 $(call cp,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
347 @$(call echo,Building EDA (host))
348 cd eda && $(MAKE) $(XBOOT)
350 @$(call echo,Building EDA...)
353 emptyoutput: outputdirs
354 $(call rm,$(OBJLIBDIR)libecereVanilla$(A))
355 $(call rm,$(SODESTDIR)$(LP)ecere$(SO))
356 $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SO))
357 $(call rm,$(SODESTDIR)$(LP)ec$(SO))
358 $(call rm,$(SODESTDIR)$(LP)EDA$(SO))
359 $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SO))
360 ifdef EDASQLiteCipher
361 $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
363 ifneq ($(ECERE_AUDIO),n)
364 $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SO))
367 $(call rm,$(SODESTDIR)$(LP)ecere$(SO).0)
368 $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
369 $(call rm,$(SODESTDIR)$(LP)ec$(SO).0)
370 $(call rm,$(SODESTDIR)$(LP)EDA$(SO).0)
371 $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
372 ifdef EDASQLiteCipher
373 $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
375 ifneq ($(ECERE_AUDIO),n)
376 $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SO).0)
378 $(call rm,$(SODESTDIR)$(LP)ecere$(SOV))
379 $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SOV))
380 $(call rm,$(SODESTDIR)$(LP)ec$(SOV))
381 $(call rm,$(SODESTDIR)$(LP)EDA$(SOV))
382 $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SOV))
383 ifdef EDASQLiteCipher
384 $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
386 ifneq ($(ECERE_AUDIO),n)
387 $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SOV))
390 $(call rm,$(OBJBINDIR)ear$(E))
391 $(call rm,$(OBJBINDIR)ecc$(E))
392 $(call rm,$(OBJBINDIR)ecp$(E))
393 $(call rm,$(OBJBINDIR)ecs$(E))
394 $(call rm,$(OBJBINDIR)epj2make$(E))
395 $(call rm,$(OBJBINDIR)ide$(E))
396 $(call rm,$(OBJBINDIR)documentor$(E))
398 $(call rm,$(OBJBINDIR)CodeGuard$(E))
402 cd compiler && $(MAKE) cleantarget
403 cd documentor && $(MAKE) cleantarget
404 cd ear && $(MAKE) cleantarget
405 cd ecere && $(MAKE) cleantarget
406 cd eda && $(MAKE) cleantarget
407 cd epj2make && $(MAKE) cleantarget
408 cd ide && $(MAKE) cleantarget
409 cd installer && $(MAKE) cleantarget
410 ifneq ($(ECERE_AUDIO),n)
411 cd audio && $(MAKE) cleantarget
416 cd installer && $(MAKE) OUTPUT_POT=1 pots
420 $(MAKE) prepinstall ARCH=
421 $(MAKE) prepinstall ARCH=x32
422 @$(call echo,Building Ecere runtime for installer...)
423 cd ecere && @$(MAKE) -f Makefile.installer ARCH=x32
424 @$(call echo,Building Installer for Windows...)
425 cd installer && @$(MAKE) ARCH=x32
426 @$(call echo,The Ecere SDK Windows Installer is fully built.)
431 cd deps && $(MAKE) clean
433 cd ecere && $(MAKE) clean
434 cd compiler && $(MAKE) clean
435 cd ear && $(MAKE) clean
436 cd epj2make && $(MAKE) clean
437 cd ide && $(MAKE) clean
438 cd documentor && $(MAKE) clean
439 ifneq ($(ECERE_AUDIO),n)
440 cd audio && $(MAKE) clean
443 cd codeGuard && $(MAKE) clean
445 cd eda && $(MAKE) clean
448 realclean: outputdirs
450 cd deps && $(MAKE) realclean
452 cd ecere && $(MAKE) realclean
453 cd compiler && $(MAKE) realclean
454 cd ear && $(MAKE) realclean
455 cd epj2make && $(MAKE) realclean
456 cd ide && $(MAKE) realclean
457 cd documentor && $(MAKE) realclean
458 ifneq ($(ECERE_AUDIO),n)
459 cd audio && $(MAKE) realclean
462 cd codeGuard && $(MAKE) realclean
464 cd eda && $(MAKE) realclean
465 $(call rmr,obj/$(PLATFORM)/)
468 distclean: outputdirs
470 cd deps && $(MAKE) distclean
472 cd ecere && $(MAKE) distclean
473 cd compiler && $(MAKE) distclean
474 cd ear && $(MAKE) distclean
475 cd epj2make && $(MAKE) distclean
476 cd ide && $(MAKE) distclean
477 cd documentor && $(MAKE) distclean
478 ifneq ($(ECERE_AUDIO),n)
479 cd audio && $(MAKE) distclean
482 cd codeGuard && $(MAKE) distclean
484 cd eda && $(MAKE) distclean
491 ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
492 ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
493 ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
494 compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
495 compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
496 compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
497 compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
498 ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
499 epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
500 documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
501 ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
502 eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
503 eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
505 ifneq ($(ECERE_AUDIO),n)
506 BINARIES += audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV)
510 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
513 ifdef EDASQLiteCipher
514 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
517 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
518 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
519 # Symlinks for libs on Linux
520 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
521 prepinstall: $(DOC) $(BINARIES) outputdirs
524 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
525 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
526 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
527 $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
528 $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
529 ifneq ($(ECERE_AUDIO),n)
530 $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJBINDIR))
532 ifdef EDASQLiteCipher
533 $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
538 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
539 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
540 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
541 $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
542 $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
543 ifneq ($(ECERE_AUDIO),n)
544 $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV),$(OBJLIBDIR))
546 ifdef EDASQLiteCipher
547 $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
549 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
550 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
551 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
552 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
553 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
554 ifdef EDASQLiteCipher
555 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
557 ifneq ($(ECERE_AUDIO),n)
558 ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO).0
561 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
562 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
563 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
564 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
565 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
566 ifdef EDASQLiteCipher
567 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
569 ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO)
572 ifndef WINDOWS_TARGET
574 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
575 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
576 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
577 $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
578 $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
579 ifneq ($(ECERE_AUDIO),n)
580 $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJLIBDIR))
582 ifdef EDASQLiteCipher
583 $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
588 $(call cp,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
589 $(call cp,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
590 $(call cp,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
591 $(call cp,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
592 $(call cp,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
593 $(call cp,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
594 $(call cp,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
596 $(call cp,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
598 $(call cp,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
601 install: prepinstall actualinstall
602 @$(call echo,The Ecere SDK has been installed.)
604 copyonlyinstall: actualinstall
605 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
609 $(call mkdir,"$(BINDIR)/")
610 $(call mkdir,"$(DESTSLIBDIR)/")
611 $(call mkdir,"$(DOCDIR)/")
612 $(call cp,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
613 $(call cp,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
614 $(call cp,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
615 $(call cp,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
616 $(call cp,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
617 ifdef EDASQLiteCipher
618 $(call cp,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
620 ifneq ($(ECERE_AUDIO),n)
621 $(call cp,$(OBJBINDIR)$(LP)EcereAudio$(SO),"$(DESTLIBDIR)/")
623 $(call cp,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
624 $(call cp,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
625 $(call cp,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
626 $(call cp,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
627 $(call cp,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
628 $(call cp,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
629 $(call cp,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
631 $(call cp,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
633 $(call cp,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
634 $(call cp,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"
635 $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM")
636 $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere")
637 $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA")
641 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
642 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
643 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
644 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
645 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
646 ifdef EDASQLiteCipher
647 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
649 ifneq ($(ECERE_AUDIO),n)
650 install $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/
652 install $(OBJBINDIR)ide$(E) $(BINDIR)/
653 install $(OBJBINDIR)ear$(E) $(BINDIR)/
654 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
655 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
656 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
657 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
658 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
660 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
662 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
663 install -d $(DOCDIR)/
664 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"
665 $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM")
666 $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere")
667 $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA")
668 mkdir -p $(MANDIR)/man1
669 $(call cpr,share/man/man1,$(MANDIR)/man1)
670 mkdir -p $(SAMPLESDIR)
671 $(call cpr,samples,$(SAMPLESDIR))
672 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
673 find $(DOCDIR) -type d -exec chmod 755 {} \;
674 find $(DOCDIR) -type f -exec chmod 644 {} \;
675 mkdir -p $(EXTRASDIR)
676 $(call cpr,extras,$(EXTRASDIR))
680 ifndef WINDOWS_TARGET
682 mkdir -p $(DESTLIBDIR)/ec
683 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
684 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
685 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
686 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
687 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
688 ifdef EDASQLiteCipher
689 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
691 ifneq ($(ECERE_AUDIO),n)
692 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)
694 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
695 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
696 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
697 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
698 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
699 ifdef EDASQLiteCipher
700 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
702 ifneq ($(ECERE_AUDIO),n)
703 ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO).0
705 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
706 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
707 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
708 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
709 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
710 ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
711 ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
712 ifdef EDASQLiteCipher
713 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
715 ifneq ($(ECERE_AUDIO),n)
716 ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)
719 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
720 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
723 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
724 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
726 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
727 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
728 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
729 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
730 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
731 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
732 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
734 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
736 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
738 install $(INSTALL_FLAGS) -d $(DOCDIR)
740 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"
741 $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM")
742 $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere")
743 $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA")
744 mkdir -p $(MANDIR)/man1
745 cp -pRf share/man/man1/* $(MANDIR)/man1
746 mkdir -p $(SAMPLESDIR)
747 cp -pRf samples/* $(SAMPLESDIR)
748 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
749 find $(DOCDIR) -type d -exec chmod 755 {} \;
750 find $(DOCDIR) -type f -exec chmod 644 {} \;
751 mkdir -p $(EXTRASDIR)
752 cp $(CPFLAGS) extras/* $(EXTRASDIR)
754 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
755 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
756 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
757 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
758 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
759 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
760 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
761 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
762 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
763 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
764 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
765 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
766 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
767 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
768 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
769 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
770 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
771 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
772 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
773 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecereaudio0
774 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecereaudio0/
780 $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
781 $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
782 $(call rm,"$(DESTLIBDIR)/$(LP)ec$(SO)")
783 $(call rm,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
785 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)")
786 ifdef EDASQLiteCipher
787 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)")
789 ifneq ($(ECERE_AUDIO),n)
790 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)")
793 $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
794 ifdef EDASQLiteCipher
795 $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
797 ifneq ($(ECERE_AUDIO),n)
798 $(call rm,"$(DESTLIBDIR)/$(LP)EcereAudio$(SO)")
801 $(call rm,"$(BINDIR)/ide$(E)")
802 $(call rm,"$(BINDIR)/ear$(E)")
803 $(call rm,"$(BINDIR)/ecc$(E)")
804 $(call rm,"$(BINDIR)/ecp$(E)")
805 $(call rm,"$(BINDIR)/ecs$(E)")
806 $(call rm,"$(BINDIR)/epj2make$(E)")
807 $(call rm,"$(BINDIR)/documentor$(E)")
809 $(call rm,"$(BINDIR)/CodeGuard$(E)")
811 $(call rm,"$(DESTSLIBDIR)/libecereVanilla$(A)")
812 $(call rm,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
813 $(call rm,"$(DOCDIR)/ecere.eCdoc")
814 $(call rm,"$(DOCDIR)/ecereCOM.eCdoc")
815 $(call rm,"$(DOCDIR)/EDA.eCdoc")
816 $(call rmr,"$(DOCDIR)/ecere")
817 $(call rmr,"$(DOCDIR)/ecereCOM")
818 $(call rmr,"$(DOCDIR)/EDA")
820 $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
821 $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
822 $(call rm,"$(DESTLIBDIR)/ec/$(LP)ec$(SO).0")
823 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDA$(SO).0")
824 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0")
825 ifdef EDASQLiteCipher
826 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0")
828 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereaAudio$(SO).0")
829 $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
830 $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
831 $(call rm,"$(DESTLIBDIR)/ec/$(LP)ec$(SOV)")
832 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDA$(SOV)")
833 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)")
834 ifdef EDASQLiteCipher
835 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)")
837 ifneq ($(ECERE_AUDIO),n)
838 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)")
840 $(call rm,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
841 $(call rm,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
843 $(call rmdir,"$(BINDIR)/")
844 $(call rmdir,"$(DESTLIBDIR)/")
845 $(call rmdir,"$(DESTSLIBDIR)/")
846 $(call rmdir,"$(DOCDIR)/")
848 $(call rmdir,"$(DESTDIR)/")
850 @$(call echo,The Ecere SDK has been uninstalled.)
852 regenbootstrap: update_ecere update_libec update_ecp update_ecc update_ecs
853 @echo Bootstrap regenerated.
855 updatebootstrap: regenbootstrap
856 @echo Copying files...
857 $(call cp,ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecere/bootstrap)
858 $(call cp,compiler/libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/libec/bootstrap)
859 $(call cp,compiler/ecp/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecp/bootstrap)
860 $(call cp,compiler/ecc/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecc/bootstrap)
861 $(call cp,compiler/ecs/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecs/bootstrap)
862 @echo Bootstrap updated.
865 @echo Regenerating ecere bootstrapper...
866 cd ecere && $(MAKE) -f Makefile.bootstrap clean
867 cd ecere && $(MAKE) -f Makefile.bootstrap
870 @echo Regenerating ec bootstrapper...
871 cd compiler/libec && $(MAKE) -f Makefile.bootstrap clean
872 cd compiler/libec && $(MAKE) -f Makefile.bootstrap
875 @echo Regenerating ecp bootstrapper...
876 cd compiler/ecp && $(MAKE) -f Makefile.bootstrap clean
877 cd compiler/ecp && $(MAKE) -f Makefile.bootstrap
880 @echo Regenerating ecc bootstrapper...
881 cd compiler/ecc && $(MAKE) -f Makefile.bootstrap clean
882 cd compiler/ecc && $(MAKE) -f Makefile.bootstrap
885 @echo Regenerating ecs bootstrapper...
886 cd compiler/ecs && $(MAKE) -f Makefile.bootstrap clean
887 cd compiler/ecs && $(MAKE) -f Makefile.bootstrap
890 @$(call echo,Printing values of some variables.)
891 @$(call echo,_CF_DIR=$(_CF_DIR))
892 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
893 @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
894 @$(call echo,PLATFORM=$(PLATFORM))
895 @$(call echo,LINUX_HOST=$(LINUX_HOST))
896 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
897 @$(call echo,OSX_HOST=$(OSX_HOST))
898 @$(call echo,OSX_TARGET=$(OSX_TARGET))
899 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
900 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
901 @$(call echo,BSD_HOST=$(BSD_HOST))
902 @$(call echo,BSD_TARGET=$(BSD_TARGET))
903 @$(call echo,CCACHE=$(CCACHE))
904 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
905 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
906 @$(call echo,DISTCC=$(DISTCC))
907 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
908 @$(call echo,CC=$(CC))
909 @$(call echo,CPP=$(CPP))
910 @$(call echo,ECP=$(ECP))
911 @$(call echo,ECC=$(ECC))
912 @$(call echo,ECS=$(ECS))
913 @$(call echo,EAR=$(EAR))
914 @$(call echo,AS=$(AS))
915 @$(call echo,LD=$(LD))
916 @$(call echo,AR=$(AR))
917 @$(call echo,STRIP=$(STRIP))
918 @$(call echo,UPX=$(UPX))
919 @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
920 @$(call echo,DESTDIR=$(DESTDIR))
921 @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
922 @$(call echo,ARCH=$(ARCH))
923 @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))
924 @$(call echo,GIT_REPOSITORY=$(GIT_REPOSITORY))
925 @$(call echo,DIR_VER=$(DIR_VER))
926 @$(call echo,REPOSITORY_VER=$(REPOSITORY_VER))
927 @$(call echo,CPPFLAGS=$(CPPFLAGS))