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
495 ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
496 ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
497 ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
498 compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
499 compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
500 compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
501 compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
502 ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
503 epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
504 documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
505 ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
506 eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
507 eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
509 ifneq ($(ECERE_AUDIO),n)
510 BINARIES += audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV)
514 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
517 ifdef EDASQLiteCipher
518 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
521 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
522 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
523 # Symlinks for libs on Linux
524 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
525 prepinstall: $(DOC) $(BINARIES) outputdirs
528 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
529 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
530 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
531 $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
532 $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
533 ifneq ($(ECERE_AUDIO),n)
534 $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJBINDIR))
536 ifdef EDASQLiteCipher
537 $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
542 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
543 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
544 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
545 $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
546 $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
547 ifneq ($(ECERE_AUDIO),n)
548 $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV),$(OBJLIBDIR))
550 ifdef EDASQLiteCipher
551 $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
553 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
554 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
555 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
556 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
557 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
558 ifdef EDASQLiteCipher
559 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
561 ifneq ($(ECERE_AUDIO),n)
562 ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO).0
565 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
566 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
567 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
568 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
569 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
570 ifdef EDASQLiteCipher
571 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
573 ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO)
576 ifndef WINDOWS_TARGET
578 $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
579 $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
580 $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
581 $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
582 $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
583 ifneq ($(ECERE_AUDIO),n)
584 $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJLIBDIR))
586 ifdef EDASQLiteCipher
587 $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
592 $(call cp,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
593 $(call cp,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
594 $(call cp,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
595 $(call cp,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
596 $(call cp,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
597 $(call cp,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
598 $(call cp,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
600 $(call cp,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
602 $(call cp,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
605 install: prepinstall actualinstall
606 @$(call echo,The Ecere SDK has been installed.)
608 copyonlyinstall: actualinstall
609 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
613 $(call mkdir,"$(BINDIR)/")
614 $(call mkdir,"$(DESTSLIBDIR)/")
615 $(call mkdir,"$(DOCDIR)/")
616 $(call cp,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
617 $(call cp,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
618 $(call cp,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
619 $(call cp,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
620 $(call cp,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
621 ifdef EDASQLiteCipher
622 $(call cp,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
624 ifneq ($(ECERE_AUDIO),n)
625 $(call cp,$(OBJBINDIR)$(LP)EcereAudio$(SO),"$(DESTLIBDIR)/")
627 $(call cp,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
628 $(call cp,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
629 $(call cp,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
630 $(call cp,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
631 $(call cp,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
632 $(call cp,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
633 $(call cp,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
635 $(call cp,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
637 $(call cp,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
638 $(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"
639 $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM")
640 $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere")
641 $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA")
645 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
646 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
647 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
648 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
649 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
650 ifdef EDASQLiteCipher
651 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
653 ifneq ($(ECERE_AUDIO),n)
654 install $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/
656 install $(OBJBINDIR)ide$(E) $(BINDIR)/
657 install $(OBJBINDIR)ear$(E) $(BINDIR)/
658 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
659 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
660 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
661 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
662 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
664 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
666 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
667 install -d $(DOCDIR)/
668 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"
669 $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM")
670 $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere")
671 $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA")
672 mkdir -p $(MANDIR)/man1
673 $(call cpr,share/man/man1,$(MANDIR)/man1)
674 mkdir -p $(SAMPLESDIR)
675 $(call cpr,samples,$(SAMPLESDIR))
676 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
677 find $(DOCDIR) -type d -exec chmod 755 {} \;
678 find $(DOCDIR) -type f -exec chmod 644 {} \;
679 mkdir -p $(EXTRASDIR)
680 $(call cpr,extras,$(EXTRASDIR))
684 ifndef WINDOWS_TARGET
686 mkdir -p $(DESTLIBDIR)/ec
687 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
688 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
689 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
690 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
691 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
692 ifdef EDASQLiteCipher
693 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
695 ifneq ($(ECERE_AUDIO),n)
696 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)
698 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
699 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
700 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
701 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
702 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
703 ifdef EDASQLiteCipher
704 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
706 ifneq ($(ECERE_AUDIO),n)
707 ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO).0
709 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
710 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
711 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
712 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
713 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
714 ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
715 ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
716 ifdef EDASQLiteCipher
717 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
719 ifneq ($(ECERE_AUDIO),n)
720 ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)
723 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
724 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
727 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
728 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(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/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"
745 $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM")
746 $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere")
747 $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA")
748 mkdir -p $(MANDIR)/man1
749 cp -pRf share/man/man1/* $(MANDIR)/man1
750 mkdir -p $(SAMPLESDIR)
751 cp -pRf samples/* $(SAMPLESDIR)
752 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
753 find $(DOCDIR) -type d -exec chmod 755 {} \;
754 find $(DOCDIR) -type f -exec chmod 644 {} \;
755 mkdir -p $(EXTRASDIR)
756 cp $(CPFLAGS) extras/* $(EXTRASDIR)
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 rm,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
785 $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
786 $(call rm,"$(DESTLIBDIR)/$(LP)ec$(SO)")
787 $(call rm,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
789 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)")
790 ifdef EDASQLiteCipher
791 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)")
793 ifneq ($(ECERE_AUDIO),n)
794 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)")
797 $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
798 ifdef EDASQLiteCipher
799 $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
801 ifneq ($(ECERE_AUDIO),n)
802 $(call rm,"$(DESTLIBDIR)/$(LP)EcereAudio$(SO)")
805 $(call rm,"$(BINDIR)/ide$(E)")
806 $(call rm,"$(BINDIR)/ear$(E)")
807 $(call rm,"$(BINDIR)/ecc$(E)")
808 $(call rm,"$(BINDIR)/ecp$(E)")
809 $(call rm,"$(BINDIR)/ecs$(E)")
810 $(call rm,"$(BINDIR)/epj2make$(E)")
811 $(call rm,"$(BINDIR)/documentor$(E)")
813 $(call rm,"$(BINDIR)/CodeGuard$(E)")
815 $(call rm,"$(DESTSLIBDIR)/libecereVanilla$(A)")
816 $(call rm,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
817 $(call rm,"$(DOCDIR)/ecere.eCdoc")
818 $(call rm,"$(DOCDIR)/ecereCOM.eCdoc")
819 $(call rm,"$(DOCDIR)/EDA.eCdoc")
820 $(call rmr,"$(DOCDIR)/ecere")
821 $(call rmr,"$(DOCDIR)/ecereCOM")
822 $(call rmr,"$(DOCDIR)/EDA")
824 $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
825 $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
826 $(call rm,"$(DESTLIBDIR)/ec/$(LP)ec$(SO).0")
827 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDA$(SO).0")
828 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0")
829 ifdef EDASQLiteCipher
830 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0")
832 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereaAudio$(SO).0")
833 $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
834 $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
835 $(call rm,"$(DESTLIBDIR)/ec/$(LP)ec$(SOV)")
836 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDA$(SOV)")
837 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)")
838 ifdef EDASQLiteCipher
839 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)")
841 ifneq ($(ECERE_AUDIO),n)
842 $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)")
844 $(call rm,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
845 $(call rm,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
847 $(call rmdir,"$(BINDIR)/")
848 $(call rmdir,"$(DESTLIBDIR)/")
849 $(call rmdir,"$(DESTSLIBDIR)/")
850 $(call rmdir,"$(DOCDIR)/")
852 $(call rmdir,"$(DESTDIR)/")
854 @$(call echo,The Ecere SDK has been uninstalled.)
856 regenbootstrap: update_ecere update_libec update_ecp update_ecc update_ecs
857 @echo Bootstrap regenerated.
859 updatebootstrap: regenbootstrap
860 @echo Copying files...
861 $(call cp,ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecere/bootstrap)
862 $(call cp,compiler/libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/libec/bootstrap)
863 $(call cp,compiler/ecp/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecp/bootstrap)
864 $(call cp,compiler/ecc/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecc/bootstrap)
865 $(call cp,compiler/ecs/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecs/bootstrap)
866 @echo Bootstrap updated.
869 @echo Regenerating ecere bootstrapper...
870 cd ecere && $(MAKE) -f Makefile.bootstrap clean
871 cd ecere && $(MAKE) -f Makefile.bootstrap
874 @echo Regenerating ec bootstrapper...
875 cd compiler/libec && $(MAKE) -f Makefile.bootstrap clean
876 cd compiler/libec && $(MAKE) -f Makefile.bootstrap
879 @echo Regenerating ecp bootstrapper...
880 cd compiler/ecp && $(MAKE) -f Makefile.bootstrap clean
881 cd compiler/ecp && $(MAKE) -f Makefile.bootstrap
884 @echo Regenerating ecc bootstrapper...
885 cd compiler/ecc && $(MAKE) -f Makefile.bootstrap clean
886 cd compiler/ecc && $(MAKE) -f Makefile.bootstrap
889 @echo Regenerating ecs bootstrapper...
890 cd compiler/ecs && $(MAKE) -f Makefile.bootstrap clean
891 cd compiler/ecs && $(MAKE) -f Makefile.bootstrap
894 @$(call echo,Printing values of some variables.)
895 @$(call echo,_CF_DIR=$(_CF_DIR))
896 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
897 @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
898 @$(call echo,PLATFORM=$(PLATFORM))
899 @$(call echo,LINUX_HOST=$(LINUX_HOST))
900 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
901 @$(call echo,OSX_HOST=$(OSX_HOST))
902 @$(call echo,OSX_TARGET=$(OSX_TARGET))
903 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
904 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
905 @$(call echo,BSD_HOST=$(BSD_HOST))
906 @$(call echo,BSD_TARGET=$(BSD_TARGET))
907 @$(call echo,CCACHE=$(CCACHE))
908 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
909 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
910 @$(call echo,DISTCC=$(DISTCC))
911 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
912 @$(call echo,CC=$(CC))
913 @$(call echo,CPP=$(CPP))
914 @$(call echo,ECP=$(ECP))
915 @$(call echo,ECC=$(ECC))
916 @$(call echo,ECS=$(ECS))
917 @$(call echo,EAR=$(EAR))
918 @$(call echo,AS=$(AS))
919 @$(call echo,LD=$(LD))
920 @$(call echo,AR=$(AR))
921 @$(call echo,STRIP=$(STRIP))
922 @$(call echo,UPX=$(UPX))
923 @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
924 @$(call echo,DESTDIR=$(DESTDIR))
925 @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
926 @$(call echo,ARCH=$(ARCH))
927 @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))
928 @$(call echo,GIT_REPOSITORY=$(GIT_REPOSITORY))
929 @$(call echo,DIR_VER=$(DIR_VER))
930 @$(call echo,REPOSITORY_VER=$(REPOSITORY_VER))
931 @$(call echo,CPPFLAGS=$(CPPFLAGS))