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)
48 export DESTLIBDIR=$(LIBDIR)
51 export SLIBDIR=$(DESTDIR)$(prefix)/lib
53 export DESTSLIBDIR=$(SLIBDIR)
56 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
60 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
77 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
81 export MANDIR=$(DESTDIR)$(prefix)/share/man/
85 export BINDIR=$(DESTDIR)$(prefix)/bin
88 HOSTTYPE := $(shell uname -m)
91 export PREFIXLIBDIR=$(LIBDIR)
94 ifeq "$(HOSTTYPE)" "x86_64"
95 export PREFIXLIBDIR=$(prefix)/lib32
97 export PREFIXLIBDIR=$(prefix)/lib
102 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
104 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
106 DESTSLIBDIR := $(DESTLIBDIR)
110 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
114 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
120 OBJDIR := obj$(OBJALT)/
121 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
122 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
123 XOBJDIR := obj$(OBJALT)/
124 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
125 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
127 all: prepbinaries ide epj2make documentor eda codeguard
128 @$(call echo,The Ecere SDK is fully built.)
131 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
132 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
133 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
135 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
136 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
137 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
140 bootstrap: outputdirs
141 cd compiler && $(MAKE) $(XBOOT) bootstrap
145 @$(call echo,Building dependencies (host)...)
146 cd deps && $(MAKE) $(XBOOT)
148 @$(call echo,Building dependencies...)
151 ecere: bootstrap deps
153 @$(call echo,Building 2nd stage ecere (host)...)
155 @$(call echo,Building 2nd stage ecere...)
157 cd ecere && $(MAKE) nores $(XBOOT)
158 cd ear && $(MAKE) nores $(XBOOT)
159 cd ecere && $(MAKE) cleantarget
161 @$(call echo,Building 2nd stage ecere...)
167 @$(call echo,Building eC Core Runtime (host)...)
168 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
170 @$(call echo,Building eC Core Runtime...)
171 cd ecere && $(MAKE) -f Makefile.ecereCOM
173 ecerevanilla: bootstrap
174 @$(call echo,Building Vanilla Ecere...)
175 cd ecere && $(MAKE) -f Makefile.vanilla
177 ear: ecere ecerevanilla
178 @$(call echo,Building ear...)
179 cd ear && cd cmd && $(MAKE) cleantarget
184 @$(call echo,Building 2nd stage compiler (host))
185 cd compiler && $(MAKE) $(XBOOT)
187 @$(call echo,Building 2nd stage compiler)
188 cd compiler && $(MAKE)
190 prepbinaries: compiler ecerecom
191 @$(call echo,Enabling 2nd stage binaries...)
193 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
194 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
195 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
198 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
199 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
200 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
201 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
202 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
203 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
204 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
205 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
206 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
208 ifndef WINDOWS_TARGET
210 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
211 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
212 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
215 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
216 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
217 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
218 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
223 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
224 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
225 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
228 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
229 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
230 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
231 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
232 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
233 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
234 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
235 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
236 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
240 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
241 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
242 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
245 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
246 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
247 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
248 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
252 epj2make: prepbinaries
253 @$(call echo,Building epj2make...)
254 cd epj2make && $(MAKE)
257 @$(call echo,Building IDE...)
260 documentor: prepbinaries
261 @$(call echo,Building Documentor...)
262 cd documentor && $(MAKE)
264 codeguard: prepcodeguard
266 @$(call echo,Building CodeGuard client...)
267 cd codeGuard && $(MAKE)
273 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
277 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
278 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
279 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
282 ifndef WINDOWS_TARGET
284 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
290 @$(call echo,Building EDA...)
293 emptyoutput: outputdirs
294 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
295 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
296 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
297 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
298 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
299 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
300 ifdef EDASQLiteCipher
301 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
304 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
305 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
306 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
307 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
308 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
309 ifdef EDASQLiteCipher
310 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
312 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
313 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
314 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
315 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
316 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
317 ifdef EDASQLiteCipher
318 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
321 $(call rmq,$(OBJBINDIR)ear$(E))
322 $(call rmq,$(OBJBINDIR)ecc$(E))
323 $(call rmq,$(OBJBINDIR)ecp$(E))
324 $(call rmq,$(OBJBINDIR)ecs$(E))
325 $(call rmq,$(OBJBINDIR)epj2make$(E))
326 $(call rmq,$(OBJBINDIR)ide$(E))
327 $(call rmq,$(OBJBINDIR)documentor$(E))
328 ifdef EDASQLiteCipher
329 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
333 cd deps && $(MAKE) clean
334 cd ecere && $(MAKE) clean
335 cd compiler && $(MAKE) clean
336 cd ear && $(MAKE) clean
337 cd epj2make && $(MAKE) clean
338 cd ide && $(MAKE) clean
339 cd documentor && $(MAKE) clean
341 cd codeGuard && $(MAKE) clean
343 cd eda && $(MAKE) clean
347 cd deps && $(MAKE) realclean
348 cd ecere && $(MAKE) realclean
349 cd compiler && $(MAKE) realclean
350 cd ear && $(MAKE) realclean
351 cd epj2make && $(MAKE) realclean
352 cd ide && $(MAKE) realclean
353 cd documentor && $(MAKE) realclean
355 cd codeGuard && $(MAKE) realclean
357 cd eda && $(MAKE) realclean
358 $(call rmrq,obj/$(PLATFORM)/)
362 cd deps && $(MAKE) distclean
363 cd ecere && $(MAKE) distclean
364 cd compiler && $(MAKE) distclean
365 cd ear && $(MAKE) distclean
366 cd epj2make && $(MAKE) distclean
367 cd ide && $(MAKE) distclean
368 cd documentor && $(MAKE) distclean
370 cd codeGuard && $(MAKE) distclean
372 cd eda && $(MAKE) distclean
376 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
379 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
380 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
381 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
382 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
383 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
384 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
385 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
386 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
387 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
388 documentor/obj/release.$(PLATFORM)/documentor$(E) \
389 ide/obj/release.$(PLATFORM)/ide$(E) \
390 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
391 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
394 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
397 ifdef EDASQLiteCipher
398 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
401 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
402 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
403 # Symlinks for libs on Linux
404 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
405 prepinstall: $(DOC) $(BINARIES) outputdirs
408 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
409 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
410 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
411 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
412 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
413 ifdef EDASQLiteCipher
414 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
419 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
420 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
421 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
422 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
423 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
424 ifdef EDASQLiteCipher
425 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
427 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
428 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
429 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
430 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
431 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
432 ifdef EDASQLiteCipher
433 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
435 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
436 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
437 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
438 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
439 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
440 ifdef EDASQLiteCipher
441 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
445 ifndef WINDOWS_TARGET
447 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
448 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
449 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
450 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
451 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
452 ifdef EDASQLiteCipher
453 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
458 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
459 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
460 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
461 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
462 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
463 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
464 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
466 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
468 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
471 install: prepinstall actualinstall
472 @$(call echo,The Ecere SDK has been installed.)
474 copyonlyinstall: actualinstall
475 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
479 $(call mkdirq,"$(BINDIR)/")
480 $(call mkdirq,"$(DESTSLIBDIR)/")
481 $(call mkdirq,"$(DOCDIR)/")
482 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
483 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
484 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
485 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
486 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
487 ifdef EDASQLiteCipher
488 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
490 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
491 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
492 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
493 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
494 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
495 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
496 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
498 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
500 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
501 $(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"
502 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
503 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
504 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
508 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
509 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
510 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
511 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
512 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
513 ifdef EDASQLiteCipher
514 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
516 install $(OBJBINDIR)ide$(E) $(BINDIR)/
517 install $(OBJBINDIR)ear$(E) $(BINDIR)/
518 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
519 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
520 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
521 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
522 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
524 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
526 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
527 install -d $(DOCDIR)/
528 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"
529 install doc/ecere.eCdoc $(DOCDIR)/
530 install doc/ecereCOM.eCdoc $(DOCDIR)/
531 install doc/EDA.eCdoc $(DOCDIR)/
532 mkdir -p $(SAMPLESDIR)
533 cp -pRf samples/* $(SAMPLESDIR)
534 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
535 mkdir -p $(EXTRASDIR)
536 cp -pRf extras/* $(EXTRASDIR)
537 chmod 777 $(EXTRASDIR)/audio
541 ifndef WINDOWS_TARGET
543 install -D $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
544 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
545 install -D $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/$(LP)ec$(SOV)
546 install -D $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SOV)
547 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SOV)
548 ifdef EDASQLiteCipher
549 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)
551 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
552 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
553 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/$(LP)ec$(SO).0
554 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO).0
555 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO).0
556 ifdef EDASQLiteCipher
557 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0
559 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
560 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
561 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/$(LP)ec$(SO)
562 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO)
563 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
564 mkdir -p $(DESTLIBDIR)/ec
565 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
566 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
567 ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
568 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
569 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
570 ifdef EDASQLiteCipher
571 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
573 install -D -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
574 install -D -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
576 install -D $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
577 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
578 install -D $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
579 install -D $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
580 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
581 ifdef EDASQLiteCipher
582 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
585 install -D $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
586 install -D $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
587 install -D $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
588 install -D $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
589 install -D $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
590 install -D $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
591 install -D $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
593 install -D $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
595 install -D $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
596 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
597 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"
598 install -D -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
599 install -D -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
600 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
601 mkdir -p $(MANDIR)/man1
602 cp -pRf share/man/man1/* $(MANDIR)/man1
603 mkdir -p $(SAMPLESDIR)
604 cp -pRf samples/* $(SAMPLESDIR)
605 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
606 mkdir -p $(EXTRASDIR)
607 cp -dpRf extras/* $(EXTRASDIR)
608 chmod 777 $(EXTRASDIR)/audio
610 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
611 install -D -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
612 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
613 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
614 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
615 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
616 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
617 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
618 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
619 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
620 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
621 mkdir -p $(DESTDIR)$(prefix)/share/doc/libec0
622 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
623 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
624 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
625 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
626 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
627 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
628 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
634 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
635 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
636 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
637 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
638 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
639 ifdef EDASQLiteCipher
640 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
642 $(call rmq,"$(BINDIR)/ide$(E)")
643 $(call rmq,"$(BINDIR)/ear$(E)")
644 $(call rmq,"$(BINDIR)/ecc$(E)")
645 $(call rmq,"$(BINDIR)/ecp$(E)")
646 $(call rmq,"$(BINDIR)/ecs$(E)")
647 $(call rmq,"$(BINDIR)/epj2make$(E)")
648 $(call rmq,"$(BINDIR)/documentor$(E)")
650 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
652 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
653 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
654 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
655 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
656 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
658 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
659 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
660 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
661 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
662 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
663 ifdef EDASQLiteCipher
664 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
666 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
667 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
668 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
669 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
670 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
671 ifdef EDASQLiteCipher
672 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
674 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
675 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
677 $(call rmdirq,"$(BINDIR)/")
678 $(call rmdirq,"$(DESTLIBDIR)/")
679 $(call rmdirq,"$(DESTSLIBDIR)/")
680 $(call rmdirq,"$(DOCDIR)/")
682 $(call rmdirq,"$(DESTDIR)/")
684 @$(call echo,The Ecere SDK has been uninstalled.)
687 @$(call echo,Printing values of some variables.)
688 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
689 @$(call echo,TARGET_PLATFORM=$(HOST_PLATFORM))
690 @$(call echo,PLATFORM=$(PLATFORM))
691 @$(call echo,LINUX_HOST=$(LINUX_HOST))
692 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
693 @$(call echo,OSX_HOST=$(OSX_HOST))
694 @$(call echo,OSX_TARGET=$(OSX_TARGET))
695 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
696 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
697 @$(call echo,BSD_HOST=$(BSD_HOST))
698 @$(call echo,BSD_TARGET=$(BSD_TARGET))
699 @$(call echo,CCACHE=$(CCACHE))
700 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
701 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
702 @$(call echo,DISTCC=$(DISTCC))
703 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
704 @$(call echo,CC=$(CC))
705 @$(call echo,CPP=$(CPP))
706 @$(call echo,ECP=$(ECP))
707 @$(call echo,ECC=$(ECC))
708 @$(call echo,ECS=$(ECS))
709 @$(call echo,EAR=$(EAR))
710 @$(call echo,AS=$(AS))
711 @$(call echo,LD=$(LD))
712 @$(call echo,AR=$(AR))
713 @$(call echo,STRIP=$(STRIP))
714 @$(call echo,UPX=$(UPX))