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
8 XBOOT = GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM)
16 HOST_SOV := $(HOST_SO)
18 HOST_SOV := $(HOST_SO)$(LIBVER)
27 ifdef ProgramFiles(x86)
28 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
31 export DESTDIR=$(ProgramFiles)/Ecere SDK
33 export DESTDIR=$(SystemDrive)/Ecere SDK
42 export DOCDIR=$(DESTDIR)$(prefix)/doc
46 export BINDIR=$(DESTDIR)$(prefix)/bin
50 export LIBDIR=$(BINDIR)
54 export SLIBDIR=$(DESTDIR)$(prefix)/lib
58 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
62 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
79 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
83 export MANDIR=$(DESTDIR)$(prefix)/share/man/
87 export BINDIR=$(DESTDIR)$(prefix)/bin
90 HOSTTYPE := $(shell uname -m)
93 ifeq "$(HOSTTYPE)" "x86_64"
94 export LIBDIR=$(DESTDIR)$(prefix)/lib32
95 export PREFIXLIBDIR=$(prefix)/lib32
97 export LIBDIR=$(DESTDIR)$(prefix)/lib
98 export PREFIXLIBDIR=$(prefix)/lib
103 ifeq "$(HOSTTYPE)" "x86_64"
104 export SLIBDIR=$(DESTDIR)$(prefix)/lib32
106 export SLIBDIR=$(DESTDIR)$(prefix)/lib
111 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
115 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
121 OBJDIR := obj$(OBJALT)/
122 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
123 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
124 XOBJDIR := obj$(OBJALT)/
125 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
126 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
128 all: prepbinaries ide epj2make documentor eda codeguard
129 @$(call echo,The Ecere SDK is fully built.)
132 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
133 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
134 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
136 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
137 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
138 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
141 bootstrap: outputdirs
142 cd compiler && $(MAKE) $(XBOOT) bootstrap
146 @$(call echo,Building dependencies (host)...)
147 cd deps && $(MAKE) $(XBOOT)
149 @$(call echo,Building dependencies...)
152 ecere: bootstrap deps
154 @$(call echo,Building 2nd stage ecere (host)...)
156 @$(call echo,Building 2nd stage ecere...)
158 cd ecere && $(MAKE) nores $(XBOOT)
159 cd ear && $(MAKE) nores $(XBOOT)
160 cd ecere && $(MAKE) cleantarget
162 @$(call echo,Building 2nd stage ecere...)
168 @$(call echo,Building eC Core Runtime (host)...)
169 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
171 @$(call echo,Building eC Core Runtime...)
172 cd ecere && $(MAKE) -f Makefile.ecereCOM
174 ecerevanilla: bootstrap
175 @$(call echo,Building Vanilla Ecere...)
176 cd ecere && $(MAKE) -f Makefile.vanilla
178 ear: ecere ecerevanilla
179 @$(call echo,Building ear...)
180 cd ear && cd cmd && $(MAKE) cleantarget
185 @$(call echo,Building 2nd stage compiler (host))
186 cd compiler && $(MAKE) $(XBOOT)
188 @$(call echo,Building 2nd stage compiler)
189 cd compiler && $(MAKE)
191 prepbinaries: compiler ecerecom
192 @$(call echo,Enabling 2nd stage binaries...)
194 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
195 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
196 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
199 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
200 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
201 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
202 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
203 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
204 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
205 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
206 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
207 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
209 ifndef WINDOWS_TARGET
211 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
212 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
213 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
216 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
217 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
218 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
219 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
224 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
225 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
226 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
229 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
230 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
231 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
232 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
233 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
234 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
235 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
236 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
237 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
241 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
242 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
243 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
246 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
247 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
248 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
249 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
253 epj2make: prepbinaries
254 @$(call echo,Building epj2make...)
255 cd epj2make && $(MAKE)
258 @$(call echo,Building IDE...)
261 documentor: prepbinaries
262 @$(call echo,Building Documentor...)
263 cd documentor && $(MAKE)
265 codeguard: prepcodeguard
267 @$(call echo,Building CodeGuard client...)
268 cd codeGuard && $(MAKE)
274 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
278 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
279 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
280 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
283 ifndef WINDOWS_TARGET
285 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
291 @$(call echo,Building EDA...)
294 emptyoutput: outputdirs
295 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
296 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
297 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
298 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
299 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
300 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
301 ifdef EDASQLiteCipher
302 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
305 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
306 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
307 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
308 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
309 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
310 ifdef EDASQLiteCipher
311 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
313 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
314 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
315 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
316 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
317 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
318 ifdef EDASQLiteCipher
319 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
322 $(call rmq,$(OBJBINDIR)ear$(E))
323 $(call rmq,$(OBJBINDIR)ecc$(E))
324 $(call rmq,$(OBJBINDIR)ecp$(E))
325 $(call rmq,$(OBJBINDIR)ecs$(E))
326 $(call rmq,$(OBJBINDIR)epj2make$(E))
327 $(call rmq,$(OBJBINDIR)ide$(E))
328 $(call rmq,$(OBJBINDIR)documentor$(E))
329 ifdef EDASQLiteCipher
330 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
334 cd deps && $(MAKE) clean
335 cd ecere && $(MAKE) clean
336 cd compiler && $(MAKE) clean
337 cd ear && $(MAKE) clean
338 cd epj2make && $(MAKE) clean
339 cd ide && $(MAKE) clean
340 cd documentor && $(MAKE) clean
342 cd codeGuard && $(MAKE) clean
344 cd eda && $(MAKE) clean
348 cd deps && $(MAKE) realclean
349 cd ecere && $(MAKE) realclean
350 cd compiler && $(MAKE) realclean
351 cd ear && $(MAKE) realclean
352 cd epj2make && $(MAKE) realclean
353 cd ide && $(MAKE) realclean
354 cd documentor && $(MAKE) realclean
356 cd codeGuard && $(MAKE) realclean
358 cd eda && $(MAKE) realclean
359 $(call rmrq,obj/$(PLATFORM)/)
363 cd deps && $(MAKE) distclean
364 cd ecere && $(MAKE) distclean
365 cd compiler && $(MAKE) distclean
366 cd ear && $(MAKE) distclean
367 cd epj2make && $(MAKE) distclean
368 cd ide && $(MAKE) distclean
369 cd documentor && $(MAKE) distclean
371 cd codeGuard && $(MAKE) distclean
373 cd eda && $(MAKE) distclean
377 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
380 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
381 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
382 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
383 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
384 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
385 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
386 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
387 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
388 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
389 documentor/obj/release.$(PLATFORM)/documentor$(E) \
390 ide/obj/release.$(PLATFORM)/ide$(E) \
391 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
392 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
395 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
398 ifdef EDASQLiteCipher
399 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
402 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
403 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
404 # Symlinks for libs on Linux
405 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
406 prepinstall: $(DOC) $(BINARIES) outputdirs
409 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
410 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
411 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
412 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
413 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
414 ifdef EDASQLiteCipher
415 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
420 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
421 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
422 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
423 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
424 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
425 ifdef EDASQLiteCipher
426 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
428 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
429 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
430 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
431 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
432 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
433 ifdef EDASQLiteCipher
434 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
436 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
437 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
438 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
439 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
440 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
441 ifdef EDASQLiteCipher
442 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
446 ifndef WINDOWS_TARGET
448 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
449 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
450 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
451 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
452 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
453 ifdef EDASQLiteCipher
454 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
459 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
460 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
461 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
462 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
463 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
464 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
465 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
467 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
469 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
472 install: prepinstall actualinstall
473 @$(call echo,The Ecere SDK has been installed.)
475 copyonlyinstall: actualinstall
476 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
480 $(call mkdirq,"$(BINDIR)/")
481 $(call mkdirq,"$(SLIBDIR)/")
482 $(call mkdirq,"$(DOCDIR)/")
483 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(LIBDIR)/")
484 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(LIBDIR)/")
485 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(LIBDIR)/")
486 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(LIBDIR)/")
487 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(LIBDIR)/")
488 ifdef EDASQLiteCipher
489 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(LIBDIR)/")
491 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
492 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
493 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
494 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
495 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
496 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
497 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
499 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
501 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(SLIBDIR)/")
502 $(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"
503 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
504 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
505 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
509 install $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/
510 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/
511 install $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/
512 install $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/
513 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/
514 ifdef EDASQLiteCipher
515 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/
517 install $(OBJBINDIR)ide$(E) $(BINDIR)/
518 install $(OBJBINDIR)ear$(E) $(BINDIR)/
519 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
520 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
521 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
522 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
523 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
525 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
527 install $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/
528 install -d $(DOCDIR)/
529 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"
530 install doc/ecere.eCdoc $(DOCDIR)/
531 install doc/ecereCOM.eCdoc $(DOCDIR)/
532 install doc/EDA.eCdoc $(DOCDIR)/
533 mkdir -p -m 777 $(SAMPLESDIR)
534 cp -pRf samples/* $(SAMPLESDIR)
535 mkdir -p -m 777 $(EXTRASDIR)
536 cp -pRf extras/* $(EXTRASDIR)
540 ifndef WINDOWS_TARGET
542 install -D $(OBJLIBDIR)$(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SOV)
543 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SOV)
544 install -D $(OBJLIBDIR)$(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SOV)
545 install -D $(OBJLIBDIR)$(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SOV)
546 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SOV)
547 ifdef EDASQLiteCipher
548 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)
550 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO).0
551 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO).0
552 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO).0
553 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO).0
554 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO).0
555 ifdef EDASQLiteCipher
556 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0
558 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO)
559 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO)
560 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO)
561 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO)
562 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO)
563 mkdir -p -m 777 $(DESTDIR)$(prefix)/lib/ec
564 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecere$(SO)
565 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecereCOM$(SO)
566 ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ec$(SO)
567 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDA$(SO)
568 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDASQLite$(SO)
569 ifdef EDASQLiteCipher
570 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
572 install -D -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
573 install -D -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
575 install -D $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/$(LP)ecere$(SO)
576 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/$(LP)ecereCOM$(SO)
577 install -D $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/$(LP)ec$(SO)
578 install -D $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/$(LP)EDA$(SO)
579 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/$(LP)EDASQLite$(SO)
580 ifdef EDASQLiteCipher
581 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
584 install -D $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
585 install -D $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
586 install -D $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
587 install -D $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
588 install -D $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
589 install -D $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
590 install -D $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
592 install -D $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
594 install -D $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/libecereVanilla$(A)
595 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
596 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"
597 install -D -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
598 install -D -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
599 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
600 mkdir -p -m 777 $(MANDIR)/man1
601 cp -pRf share/man/man1/* $(MANDIR)/man1
602 mkdir -p -m 777 $(SAMPLESDIR)
603 cp -pRf samples/* $(SAMPLESDIR)
604 mkdir -p -m 777 $(EXTRASDIR)
605 cp -pRf extras/* $(EXTRASDIR)
607 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecere0
608 install -D -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
609 gzip -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
610 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-dev
611 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
612 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-extras
613 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
614 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-samples
615 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
616 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-sdk
617 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
618 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libec0
619 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
620 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecerecom0
621 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
622 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libeda0
623 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
624 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libedasqlite0
625 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
631 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO)")
632 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO)")
633 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO)")
634 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO)")
635 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO)")
636 ifdef EDASQLiteCipher
637 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO)")
639 $(call rmq,"$(BINDIR)/ide$(E)")
640 $(call rmq,"$(BINDIR)/ear$(E)")
641 $(call rmq,"$(BINDIR)/ecc$(E)")
642 $(call rmq,"$(BINDIR)/ecp$(E)")
643 $(call rmq,"$(BINDIR)/ecs$(E)")
644 $(call rmq,"$(BINDIR)/epj2make$(E)")
645 $(call rmq,"$(BINDIR)/documentor$(E)")
647 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
649 $(call rmq,"$(SLIBDIR)/libecereVanilla$(A)")
650 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
651 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
652 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
653 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
655 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO).0")
656 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO).0")
657 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO).0")
658 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO).0")
659 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO).0")
660 ifdef EDASQLiteCipher
661 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
663 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SOV)")
664 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SOV)")
665 $(call rmq,"$(LIBDIR)/$(LP)ec$(SOV)")
666 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SOV)")
667 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SOV)")
668 ifdef EDASQLiteCipher
669 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
671 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
672 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
674 $(call rmdirq,"$(BINDIR)/")
675 $(call rmdirq,"$(LIBDIR)/")
676 $(call rmdirq,"$(SLIBDIR)/")
677 $(call rmdirq,"$(DOCDIR)/")
679 $(call rmdirq,"$(DESTDIR)/")
681 @$(call echo,The Ecere SDK has been uninstalled.)
684 @$(call echo,Printing values of some variables.)
685 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
686 @$(call echo,TARGET_PLATFORM=$(HOST_PLATFORM))
687 @$(call echo,PLATFORM=$(PLATFORM))
688 @$(call echo,LINUX_HOST=$(LINUX_HOST))
689 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
690 @$(call echo,OSX_HOST=$(OSX_HOST))
691 @$(call echo,OSX_TARGET=$(OSX_TARGET))
692 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
693 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
694 @$(call echo,BSD_HOST=$(BSD_HOST))
695 @$(call echo,BSD_TARGET=$(BSD_TARGET))
696 @$(call echo,CCACHE=$(CCACHE))
697 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
698 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
699 @$(call echo,DISTCC=$(DISTCC))
700 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
701 @$(call echo,CC=$(CC))
702 @$(call echo,CPP=$(CPP))
703 @$(call echo,ECP=$(ECP))
704 @$(call echo,ECC=$(ECC))
705 @$(call echo,ECS=$(ECS))
706 @$(call echo,EAR=$(EAR))
707 @$(call echo,AS=$(AS))
708 @$(call echo,LD=$(LD))
709 @$(call echo,AR=$(AR))
710 @$(call echo,STRIP=$(STRIP))
711 @$(call echo,UPX=$(UPX))