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
7 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
12 HOST_SOV := $(HOST_SO)
14 HOST_SOV := $(HOST_SO)$(LIBVER)
23 ifdef ProgramFiles(x86)
24 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
27 export DESTDIR=$(ProgramFiles)/Ecere SDK
29 export DESTDIR=$(SystemDrive)/Ecere SDK
38 export DOCDIR=$(DESTDIR)$(prefix)/doc
42 export BINDIR=$(DESTDIR)$(prefix)/bin
46 export LIBDIR=$(BINDIR)
50 export SLIBDIR=$(DESTDIR)$(prefix)/lib
54 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
58 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
75 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
79 export MANDIR=$(DESTDIR)$(prefix)/share/man/
83 export BINDIR=$(DESTDIR)$(prefix)/bin
86 HOSTTYPE := $(shell uname -m)
89 ifeq "$(HOSTTYPE)" "x86_64"
90 export LIBDIR=$(DESTDIR)$(prefix)/lib32
91 export PREFIXLIBDIR=$(prefix)/lib32
93 export LIBDIR=$(DESTDIR)$(prefix)/lib
94 export PREFIXLIBDIR=$(prefix)/lib
99 ifeq "$(HOSTTYPE)" "x86_64"
100 export SLIBDIR=$(DESTDIR)$(prefix)/lib32
102 export SLIBDIR=$(DESTDIR)$(prefix)/lib
107 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
111 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
117 OBJDIR := obj$(OBJALT)/
118 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
119 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
120 XOBJDIR := obj$(OBJALT)/
121 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
122 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
124 all: prepbinaries ide epj2make documentor eda codeguard
125 @$(call echo,The Ecere SDK is fully built.)
128 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
129 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
130 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
132 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
133 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
134 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
137 bootstrap: outputdirs
138 cd compiler && $(MAKE) $(XBOOT) bootstrap
142 @$(call echo,Building dependencies (host)...)
143 cd deps && $(MAKE) $(XBOOT)
145 @$(call echo,Building dependencies...)
148 ecere: bootstrap deps
150 @$(call echo,Building 2nd stage ecere (host)...)
152 @$(call echo,Building 2nd stage ecere...)
154 cd ecere && $(MAKE) nores $(XBOOT)
155 cd ear && $(MAKE) nores $(XBOOT)
156 cd ecere && $(MAKE) cleantarget
158 @$(call echo,Building 2nd stage ecere...)
164 @$(call echo,Building eC Core Runtime (host)...)
165 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
167 @$(call echo,Building eC Core Runtime...)
168 cd ecere && $(MAKE) -f Makefile.ecereCOM
170 ecerevanilla: bootstrap
171 @$(call echo,Building Vanilla Ecere...)
172 cd ecere && $(MAKE) -f Makefile.vanilla
174 ear: ecere ecerevanilla
175 @$(call echo,Building ear...)
176 cd ear && cd cmd && $(MAKE) cleantarget
181 @$(call echo,Building 2nd stage compiler (host))
182 cd compiler && $(MAKE) $(XBOOT)
184 @$(call echo,Building 2nd stage compiler)
185 cd compiler && $(MAKE)
187 prepbinaries: compiler ecerecom
188 @$(call echo,Enabling 2nd stage binaries...)
190 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
191 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
192 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
195 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
196 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
197 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
198 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
199 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
200 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
201 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
202 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
203 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
205 ifndef WINDOWS_TARGET
207 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
208 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
209 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
212 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
213 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
214 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
215 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
220 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
221 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
222 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
225 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
226 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
227 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
228 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
229 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
230 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
231 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
232 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
233 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
237 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
238 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
239 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
242 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
243 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
244 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
245 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
249 epj2make: prepbinaries
250 @$(call echo,Building epj2make...)
251 cd epj2make && $(MAKE)
254 @$(call echo,Building IDE...)
257 documentor: prepbinaries
258 @$(call echo,Building Documentor...)
259 cd documentor && $(MAKE)
261 codeguard: prepcodeguard
263 @$(call echo,Building CodeGuard client...)
264 cd codeGuard && $(MAKE)
270 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
274 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
275 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
276 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
279 ifndef WINDOWS_TARGET
281 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
287 @$(call echo,Building EDA...)
290 emptyoutput: outputdirs
291 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
292 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
293 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
294 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
295 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
296 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
297 ifdef EDASQLiteCipher
298 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
301 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
302 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
303 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
304 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
305 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
306 ifdef EDASQLiteCipher
307 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
309 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
310 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
311 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
312 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
313 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
314 ifdef EDASQLiteCipher
315 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
318 $(call rmq,$(OBJBINDIR)ear$(E))
319 $(call rmq,$(OBJBINDIR)ecc$(E))
320 $(call rmq,$(OBJBINDIR)ecp$(E))
321 $(call rmq,$(OBJBINDIR)ecs$(E))
322 $(call rmq,$(OBJBINDIR)epj2make$(E))
323 $(call rmq,$(OBJBINDIR)ide$(E))
324 $(call rmq,$(OBJBINDIR)documentor$(E))
325 ifdef EDASQLiteCipher
326 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
330 cd deps && $(MAKE) clean
331 cd ecere && $(MAKE) clean
332 cd compiler && $(MAKE) clean
333 cd ear && $(MAKE) clean
334 cd epj2make && $(MAKE) clean
335 cd ide && $(MAKE) clean
336 cd documentor && $(MAKE) clean
338 cd codeGuard && $(MAKE) clean
340 cd eda && $(MAKE) clean
344 cd deps && $(MAKE) realclean
345 cd ecere && $(MAKE) realclean
346 cd compiler && $(MAKE) realclean
347 cd ear && $(MAKE) realclean
348 cd epj2make && $(MAKE) realclean
349 cd ide && $(MAKE) realclean
350 cd documentor && $(MAKE) realclean
352 cd codeGuard && $(MAKE) realclean
354 cd eda && $(MAKE) realclean
355 $(call rmrq,obj/$(PLATFORM)/)
359 cd deps && $(MAKE) distclean
360 cd ecere && $(MAKE) distclean
361 cd compiler && $(MAKE) distclean
362 cd ear && $(MAKE) distclean
363 cd epj2make && $(MAKE) distclean
364 cd ide && $(MAKE) distclean
365 cd documentor && $(MAKE) distclean
367 cd codeGuard && $(MAKE) distclean
369 cd eda && $(MAKE) distclean
373 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
376 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
377 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
378 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
379 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
380 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
381 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
382 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
383 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
384 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
385 documentor/obj/release.$(PLATFORM)/documentor$(E) \
386 ide/obj/release.$(PLATFORM)/ide$(E) \
387 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
388 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
391 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
394 ifdef EDASQLiteCipher
395 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
398 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
399 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
400 # Symlinks for libs on Linux
401 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
402 prepinstall: $(DOC) $(BINARIES) outputdirs
405 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
406 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
407 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
408 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
409 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
410 ifdef EDASQLiteCipher
411 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
416 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
417 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
418 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
419 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
420 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
421 ifdef EDASQLiteCipher
422 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
424 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
425 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
426 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
427 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
428 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
429 ifdef EDASQLiteCipher
430 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
432 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
433 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
434 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
435 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
436 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
437 ifdef EDASQLiteCipher
438 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
442 ifndef WINDOWS_TARGET
444 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
445 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
446 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
447 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
448 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
449 ifdef EDASQLiteCipher
450 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
455 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
456 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
457 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
458 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
459 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
460 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
461 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
463 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
465 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
468 install: prepinstall actualinstall
469 @$(call echo,The Ecere SDK has been installed.)
471 copyonlyinstall: actualinstall
472 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
476 $(call mkdirq,"$(BINDIR)/")
477 $(call mkdirq,"$(SLIBDIR)/")
478 $(call mkdirq,"$(DOCDIR)/")
479 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(LIBDIR)/")
480 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(LIBDIR)/")
481 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(LIBDIR)/")
482 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(LIBDIR)/")
483 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(LIBDIR)/")
484 ifdef EDASQLiteCipher
485 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(LIBDIR)/")
487 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
488 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
489 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
490 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
491 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
492 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
493 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
495 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
497 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(SLIBDIR)/")
498 $(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"
499 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
500 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
501 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
505 install $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/
506 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/
507 install $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/
508 install $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/
509 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/
510 ifdef EDASQLiteCipher
511 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/
513 install $(OBJBINDIR)ide$(E) $(BINDIR)/
514 install $(OBJBINDIR)ear$(E) $(BINDIR)/
515 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
516 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
517 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
518 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
519 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
521 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
523 install $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/
524 install -d $(DOCDIR)/
525 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"
526 install doc/ecere.eCdoc $(DOCDIR)/
527 install doc/ecereCOM.eCdoc $(DOCDIR)/
528 install doc/EDA.eCdoc $(DOCDIR)/
529 mkdir -p -m 777 $(SAMPLESDIR)
530 cp -pRf samples/* $(SAMPLESDIR)
531 mkdir -p -m 777 $(EXTRASDIR)
532 cp -pRf extras/* $(EXTRASDIR)
536 ifndef WINDOWS_TARGET
538 install -D $(OBJLIBDIR)$(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SOV)
539 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SOV)
540 install -D $(OBJLIBDIR)$(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SOV)
541 install -D $(OBJLIBDIR)$(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SOV)
542 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SOV)
543 ifdef EDASQLiteCipher
544 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)
546 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO).0
547 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO).0
548 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO).0
549 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO).0
550 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO).0
551 ifdef EDASQLiteCipher
552 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0
554 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO)
555 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO)
556 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO)
557 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO)
558 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO)
559 mkdir -p -m 777 $(DESTDIR)$(prefix)/lib/ec
560 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecere$(SO)
561 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecereCOM$(SO)
562 ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ec$(SO)
563 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDA$(SO)
564 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDASQLite$(SO)
565 ifdef EDASQLiteCipher
566 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
568 install -D -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
569 install -D -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
571 install -D $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/$(LP)ecere$(SO)
572 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/$(LP)ecereCOM$(SO)
573 install -D $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/$(LP)ec$(SO)
574 install -D $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/$(LP)EDA$(SO)
575 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/$(LP)EDASQLite$(SO)
576 ifdef EDASQLiteCipher
577 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
580 install -D $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
581 install -D $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
582 install -D $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
583 install -D $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
584 install -D $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
585 install -D $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
586 install -D $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
588 install -D $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
590 install -D $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/libecereVanilla$(A)
591 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
592 install -D -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"
593 install -D -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
594 install -D -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
595 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
596 mkdir -p -m 777 $(MANDIR)/man1
597 cp -pRf share/man/man1/* $(MANDIR)/man1
598 mkdir -p -m 777 $(SAMPLESDIR)
599 cp -pRf samples/* $(SAMPLESDIR)
600 mkdir -p -m 777 $(EXTRASDIR)
601 cp -pRf extras/* $(EXTRASDIR)
603 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecere0
604 install -D -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
605 gzip -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
606 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-dev
607 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
608 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-extras
609 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
610 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-samples
611 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
612 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-sdk
613 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
614 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libec0
615 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
616 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecerecom0
617 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
618 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libeda0
619 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
620 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libedasqlite0
621 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
627 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO)")
628 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO)")
629 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO)")
630 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO)")
631 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO)")
632 ifdef EDASQLiteCipher
633 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO)")
635 $(call rmq,"$(BINDIR)/ide$(E)")
636 $(call rmq,"$(BINDIR)/ear$(E)")
637 $(call rmq,"$(BINDIR)/ecc$(E)")
638 $(call rmq,"$(BINDIR)/ecp$(E)")
639 $(call rmq,"$(BINDIR)/ecs$(E)")
640 $(call rmq,"$(BINDIR)/epj2make$(E)")
641 $(call rmq,"$(BINDIR)/documentor$(E)")
643 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
645 $(call rmq,"$(SLIBDIR)/libecereVanilla$(A)")
646 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
647 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
648 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
649 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
651 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO).0")
652 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO).0")
653 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO).0")
654 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO).0")
655 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO).0")
656 ifdef EDASQLiteCipher
657 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
659 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SOV)")
660 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SOV)")
661 $(call rmq,"$(LIBDIR)/$(LP)ec$(SOV)")
662 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SOV)")
663 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SOV)")
664 ifdef EDASQLiteCipher
665 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
667 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
668 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
670 $(call rmdirq,"$(BINDIR)/")
671 $(call rmdirq,"$(LIBDIR)/")
672 $(call rmdirq,"$(SLIBDIR)/")
673 $(call rmdirq,"$(DOCDIR)/")
675 $(call rmdirq,"$(DESTDIR)/")
677 @$(call echo,The Ecere SDK has been uninstalled.)
680 @$(call echo,Printing values of some variables.)
681 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
682 @$(call echo,TARGET_PLATFORM=$(HOST_PLATFORM))
683 @$(call echo,PLATFORM=$(PLATFORM))
684 @$(call echo,LINUX_HOST=$(LINUX_HOST))
685 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
686 @$(call echo,OSX_HOST=$(OSX_HOST))
687 @$(call echo,OSX_TARGET=$(OSX_TARGET))
688 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
689 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
690 @$(call echo,BSD_HOST=$(BSD_HOST))
691 @$(call echo,BSD_TARGET=$(BSD_TARGET))
692 @$(call echo,CCACHE=$(CCACHE))
693 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
694 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
695 @$(call echo,DISTCC=$(DISTCC))
696 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
697 @$(call echo,CC=$(CC))
698 @$(call echo,CPP=$(CPP))
699 @$(call echo,ECP=$(ECP))
700 @$(call echo,ECC=$(ECC))
701 @$(call echo,ECS=$(ECS))
702 @$(call echo,EAR=$(EAR))
703 @$(call echo,AS=$(AS))
704 @$(call echo,LD=$(LD))
705 @$(call echo,AR=$(AR))
706 @$(call echo,STRIP=$(STRIP))
707 @$(call echo,UPX=$(UPX))