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
4 include crossplatform.mk
15 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
20 HOST_SOV := $(HOST_SO)
22 HOST_SOV := $(HOST_SO)$(LIBVER)
31 ifdef ProgramFiles(x86)
32 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
35 export DESTDIR=$(ProgramFiles)/Ecere SDK
37 export DESTDIR=$(SystemDrive)/Ecere SDK
46 export DOCDIR=$(DESTDIR)$(prefix)/doc
50 export BINDIR=$(DESTDIR)$(prefix)/bin
54 export LIBDIR=$(BINDIR)
56 export DESTLIBDIR=$(LIBDIR)
59 export SLIBDIR=$(DESTDIR)$(prefix)/lib
61 export DESTSLIBDIR=$(SLIBDIR)
64 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
68 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
90 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
94 export MANDIR=$(DESTDIR)$(prefix)/share/man/
98 export BINDIR=$(DESTDIR)$(prefix)/bin
101 HOSTTYPE := $(shell uname -m)
104 export PREFIXLIBDIR=$(LIBDIR)
107 ifeq "$(HOSTTYPE)" "x86_64"
109 export PREFIXLIBDIR=$(prefix)/lib
111 export PREFIXLIBDIR=$(prefix)/lib32
114 export PREFIXLIBDIR=$(prefix)/lib
119 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
121 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
123 DESTSLIBDIR := $(DESTLIBDIR)
127 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
131 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
137 OBJDIR := obj$(OBJALT)/
138 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
139 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
140 XOBJDIR := obj$(OBJALT)/
141 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
142 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
144 all: prepbinaries ide epj2make documentor eda codeguard
145 @$(call echo,The Ecere SDK is fully built.)
148 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
149 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
150 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
152 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
153 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
154 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
157 bootstrap: outputdirs
158 cd compiler && $(MAKE) $(XBOOT) bootstrap
162 @$(call echo,Building dependencies (host)...)
163 cd deps && $(MAKE) $(XBOOT)
165 @$(call echo,Building dependencies...)
168 ecere: bootstrap deps
170 @$(call echo,Building 2nd stage ecere (host)...)
172 @$(call echo,Building 2nd stage ecere...)
174 cd ecere && $(MAKE) nores $(XBOOT)
175 cd ear && $(MAKE) nores $(XBOOT)
176 cd ecere && $(MAKE) cleaneceretarget
178 @$(call echo,Building 2nd stage ecere...)
184 @$(call echo,Building eC Core Runtime (host)...)
185 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
187 @$(call echo,Building eC Core Runtime...)
188 cd ecere && $(MAKE) -f Makefile.ecereCOM
190 ecerevanilla: bootstrap
191 @$(call echo,Building Vanilla Ecere...)
192 cd ecere && $(MAKE) -f Makefile.vanilla
194 ear: ecere ecerevanilla
195 @$(call echo,Building ear...)
196 cd ear && cd cmd && $(MAKE) cleantarget
201 @$(call echo,Building 2nd stage compiler (host))
202 cd compiler && $(MAKE) $(XBOOT)
204 @$(call echo,Building 2nd stage compiler)
205 cd compiler && $(MAKE)
207 prepbinaries: compiler ecerecom
208 @$(call echo,Enabling 2nd stage binaries...)
210 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
211 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
212 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
215 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
216 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
217 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
218 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
219 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
220 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
221 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
222 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
223 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
225 ifndef WINDOWS_TARGET
227 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
228 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
229 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
232 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
233 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
234 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
235 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
240 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
241 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
242 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
245 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
246 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
247 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
248 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
249 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
250 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
251 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
252 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
253 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
257 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
258 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
259 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
262 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
263 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
264 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
265 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
269 epj2make: prepbinaries
270 @$(call echo,Building epj2make...)
271 cd epj2make && $(MAKE)
274 @$(call echo,Building IDE...)
277 documentor: prepbinaries
278 @$(call echo,Building Documentor...)
279 cd documentor && $(MAKE)
281 codeguard: prepcodeguard
283 @$(call echo,Building CodeGuard client...)
284 cd codeGuard && $(MAKE)
290 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
294 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
295 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
296 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
299 ifndef WINDOWS_TARGET
301 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
307 @$(call echo,Building EDA...)
310 emptyoutput: outputdirs
311 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
312 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
313 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
314 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
315 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
316 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
317 ifdef EDASQLiteCipher
318 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
321 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
322 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
323 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
324 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
325 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
326 ifdef EDASQLiteCipher
327 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
329 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
330 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
331 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
332 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
333 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
334 ifdef EDASQLiteCipher
335 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
338 $(call rmq,$(OBJBINDIR)ear$(E))
339 $(call rmq,$(OBJBINDIR)ecc$(E))
340 $(call rmq,$(OBJBINDIR)ecp$(E))
341 $(call rmq,$(OBJBINDIR)ecs$(E))
342 $(call rmq,$(OBJBINDIR)epj2make$(E))
343 $(call rmq,$(OBJBINDIR)ide$(E))
344 $(call rmq,$(OBJBINDIR)documentor$(E))
345 ifdef EDASQLiteCipher
346 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
350 cd deps && $(MAKE) clean
351 cd ecere && $(MAKE) clean
352 cd compiler && $(MAKE) clean
353 cd ear && $(MAKE) clean
354 cd epj2make && $(MAKE) clean
355 cd ide && $(MAKE) clean
356 cd documentor && $(MAKE) clean
358 cd codeGuard && $(MAKE) clean
360 cd eda && $(MAKE) clean
363 realclean: outputdirs
364 cd deps && $(MAKE) realclean
365 cd ecere && $(MAKE) realclean
366 cd compiler && $(MAKE) realclean
367 cd ear && $(MAKE) realclean
368 cd epj2make && $(MAKE) realclean
369 cd ide && $(MAKE) realclean
370 cd documentor && $(MAKE) realclean
372 cd codeGuard && $(MAKE) realclean
374 cd eda && $(MAKE) realclean
375 $(call rmrq,obj/$(PLATFORM)/)
378 distclean: outputdirs
379 cd deps && $(MAKE) distclean
380 cd ecere && $(MAKE) distclean
381 cd compiler && $(MAKE) distclean
382 cd ear && $(MAKE) distclean
383 cd epj2make && $(MAKE) distclean
384 cd ide && $(MAKE) distclean
385 cd documentor && $(MAKE) distclean
387 cd codeGuard && $(MAKE) distclean
389 cd eda && $(MAKE) distclean
393 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
396 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
397 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
398 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
399 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
400 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
401 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
402 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
403 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
404 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
405 documentor/obj/release.$(PLATFORM)/documentor$(E) \
406 ide/obj/release.$(PLATFORM)/ide$(E) \
407 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
408 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
411 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
414 ifdef EDASQLiteCipher
415 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
418 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
419 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
420 # Symlinks for libs on Linux
421 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
422 prepinstall: $(DOC) $(BINARIES) outputdirs
425 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
426 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
427 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
428 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
429 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
430 ifdef EDASQLiteCipher
431 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
436 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
437 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
438 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
439 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
440 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
441 ifdef EDASQLiteCipher
442 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
444 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
445 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
446 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
447 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
448 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
449 ifdef EDASQLiteCipher
450 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
452 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
453 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
454 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
455 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
456 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
457 ifdef EDASQLiteCipher
458 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
462 ifndef WINDOWS_TARGET
464 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
465 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
466 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
467 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
468 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
469 ifdef EDASQLiteCipher
470 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
475 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
476 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
477 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
478 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
479 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
480 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
481 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
483 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
485 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
488 install: prepinstall actualinstall
489 @$(call echo,The Ecere SDK has been installed.)
491 copyonlyinstall: actualinstall
492 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
496 $(call mkdirq,"$(BINDIR)/")
497 $(call mkdirq,"$(DESTSLIBDIR)/")
498 $(call mkdirq,"$(DOCDIR)/")
499 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
500 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
501 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
502 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
503 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
504 ifdef EDASQLiteCipher
505 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
507 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
508 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
509 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
510 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
511 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
512 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
513 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
515 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
517 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
518 $(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"
519 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
520 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
521 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
525 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
526 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
527 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
528 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
529 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
530 ifdef EDASQLiteCipher
531 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
533 install $(OBJBINDIR)ide$(E) $(BINDIR)/
534 install $(OBJBINDIR)ear$(E) $(BINDIR)/
535 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
536 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
537 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
538 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
539 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
541 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
543 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
544 install -d $(DOCDIR)/
545 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"
546 install doc/ecere.eCdoc $(DOCDIR)/
547 install doc/ecereCOM.eCdoc $(DOCDIR)/
548 install doc/EDA.eCdoc $(DOCDIR)/
549 mkdir -p $(MANDIR)/man1
550 cp -pRf share/man/man1/* $(MANDIR)/man1
551 mkdir -p $(SAMPLESDIR)
552 cp -pRf samples/* $(SAMPLESDIR)
553 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
554 mkdir -p $(EXTRASDIR)
555 cp -pRf extras/* $(EXTRASDIR)
556 chmod 777 $(EXTRASDIR)/audio
560 ifndef WINDOWS_TARGET
562 mkdir -p $(DESTLIBDIR)/ec
563 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
564 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
565 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
566 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SOV)
567 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SOV)
568 ifdef EDASQLiteCipher
569 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)
571 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
572 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
573 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
574 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO).0
575 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO).0
576 ifdef EDASQLiteCipher
577 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0
579 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
580 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
581 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
582 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO)
583 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
584 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
585 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
586 # ln -sf $(PREFIXLIBDIR)/ec/$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
587 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
588 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
589 ifdef EDASQLiteCipher
590 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
593 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
594 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
597 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
598 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
599 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
600 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
601 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
602 ifdef EDASQLiteCipher
603 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
606 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
607 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
608 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
609 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
610 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
611 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
612 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
614 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
616 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
617 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
618 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"
619 install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
620 install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
621 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
622 mkdir -p $(MANDIR)/man1
623 cp -pRf share/man/man1/* $(MANDIR)/man1
624 mkdir -p $(SAMPLESDIR)
625 cp -pRf samples/* $(SAMPLESDIR)
626 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
627 mkdir -p $(EXTRASDIR)
628 cp $(CPFLAGS) extras/* $(EXTRASDIR)
629 chmod 777 $(EXTRASDIR)/audio
631 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
632 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
633 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
634 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
635 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
636 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
637 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
638 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
639 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
640 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
641 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
642 mkdir -p $(DESTDIR)$(prefix)/share/doc/libec0
643 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
644 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
645 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
646 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
647 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
648 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
649 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
655 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
656 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
657 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
658 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
659 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
660 ifdef EDASQLiteCipher
661 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
663 $(call rmq,"$(BINDIR)/ide$(E)")
664 $(call rmq,"$(BINDIR)/ear$(E)")
665 $(call rmq,"$(BINDIR)/ecc$(E)")
666 $(call rmq,"$(BINDIR)/ecp$(E)")
667 $(call rmq,"$(BINDIR)/ecs$(E)")
668 $(call rmq,"$(BINDIR)/epj2make$(E)")
669 $(call rmq,"$(BINDIR)/documentor$(E)")
671 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
673 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
674 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
675 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
676 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
677 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
679 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
680 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
681 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
682 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
683 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
684 ifdef EDASQLiteCipher
685 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
687 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
688 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
689 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
690 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
691 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
692 ifdef EDASQLiteCipher
693 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
695 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
696 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
698 $(call rmdirq,"$(BINDIR)/")
699 $(call rmdirq,"$(DESTLIBDIR)/")
700 $(call rmdirq,"$(DESTSLIBDIR)/")
701 $(call rmdirq,"$(DOCDIR)/")
703 $(call rmdirq,"$(DESTDIR)/")
705 @$(call echo,The Ecere SDK has been uninstalled.)
708 @$(call echo,Printing values of some variables.)
709 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
710 @$(call echo,TARGET_PLATFORM=$(HOST_PLATFORM))
711 @$(call echo,PLATFORM=$(PLATFORM))
712 @$(call echo,LINUX_HOST=$(LINUX_HOST))
713 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
714 @$(call echo,OSX_HOST=$(OSX_HOST))
715 @$(call echo,OSX_TARGET=$(OSX_TARGET))
716 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
717 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
718 @$(call echo,BSD_HOST=$(BSD_HOST))
719 @$(call echo,BSD_TARGET=$(BSD_TARGET))
720 @$(call echo,CCACHE=$(CCACHE))
721 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
722 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
723 @$(call echo,DISTCC=$(DISTCC))
724 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
725 @$(call echo,CC=$(CC))
726 @$(call echo,CPP=$(CPP))
727 @$(call echo,ECP=$(ECP))
728 @$(call echo,ECC=$(ECC))
729 @$(call echo,ECS=$(ECS))
730 @$(call echo,EAR=$(EAR))
731 @$(call echo,AS=$(AS))
732 @$(call echo,LD=$(LD))
733 @$(call echo,AR=$(AR))
734 @$(call echo,STRIP=$(STRIP))
735 @$(call echo,UPX=$(UPX))