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 ifeq "$(TARGET_ARCH)" "x86_64"
32 ifneq "$(wildcard $(SystemDrive)/Program\ Files )" ""
33 export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
35 export DESTDIR=$(SystemDrive)/Ecere SDK
38 ifdef ProgramFiles(x86)
39 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
42 export DESTDIR=$(ProgramFiles)/Ecere SDK
44 export DESTDIR=$(SystemDrive)/Ecere SDK
54 export DOCDIR=$(DESTDIR)$(prefix)/doc
58 export BINDIR=$(DESTDIR)$(prefix)/bin
62 export LIBDIR=$(BINDIR)
64 export DESTLIBDIR=$(LIBDIR)
67 export SLIBDIR=$(DESTDIR)$(prefix)/lib
69 export DESTSLIBDIR=$(SLIBDIR)
72 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
76 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
98 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
102 export MANDIR=$(DESTDIR)$(prefix)/share/man/
106 export BINDIR=$(DESTDIR)$(prefix)/bin
110 export PREFIXLIBDIR=$(LIBDIR)
112 export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
114 ifeq "$(wildcard $(prefix)/lib/$(TARGET_ARCH) )" ""
115 export PREFIXLIBDIR=$(prefix)/lib
117 ifeq "$(TARGET_ARCH)" "i386-linux-gnu"
118 ifneq "$(wildcard $(prefix)/lib32 )" ""
119 export PREFIXLIBDIR=$(prefix)/lib32
127 CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(PREFIXLIBDIR)\"
129 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
131 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
133 DESTSLIBDIR := $(DESTLIBDIR)
137 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
141 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
147 OBJDIR := obj$(OBJALT)/
148 OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
149 OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
150 XOBJDIR := obj$(OBJALT)/
151 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
152 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
154 all: prepbinaries ide epj2make documentor eda codeguard
155 @$(call echo,The Ecere SDK is fully built.)
158 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
159 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
160 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
162 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
163 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
164 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
167 bootstrap: outputdirs
168 cd compiler && $(MAKE) $(XBOOT) bootstrap
173 @$(call echo,Building dependencies (host)...)
174 cd deps && $(MAKE) $(XBOOT)
178 @$(call echo,Building dependencies...)
182 ecere: bootstrap deps
184 @$(call echo,Building 2nd stage ecere (host)...)
186 @$(call echo,Building 2nd stage ecere...)
188 cd ecere && $(MAKE) nores $(XBOOT)
189 cd ear && $(MAKE) nores $(XBOOT)
190 cd ecere && $(MAKE) cleaneceretarget
192 @$(call echo,Building 2nd stage ecere...)
198 @$(call echo,Building eC Core Runtime (host)...)
199 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
201 @$(call echo,Building eC Core Runtime...)
202 cd ecere && $(MAKE) -f Makefile.ecereCOM
204 ecerevanilla: bootstrap
205 @$(call echo,Building Vanilla Ecere...)
206 cd ecere && $(MAKE) -f Makefile.vanilla
208 ear: ecere ecerevanilla
209 @$(call echo,Building ear...)
210 cd ear && cd cmd && $(MAKE) cleantarget
215 @$(call echo,Building 2nd stage compiler (host))
216 cd compiler && $(MAKE) $(XBOOT)
218 @$(call echo,Building 2nd stage compiler)
219 cd compiler && $(MAKE)
221 prepbinaries: compiler ecerecom
222 @$(call echo,Enabling 2nd stage binaries...)
224 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
225 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
226 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
229 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
230 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
231 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
232 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
233 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
234 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
235 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
236 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
237 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
239 ifndef WINDOWS_TARGET
241 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
242 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
243 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
246 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
247 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
248 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
249 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
254 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
255 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
256 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
259 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
260 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
261 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
262 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
263 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
264 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
265 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
266 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
267 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
271 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
272 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
273 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
276 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
277 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
278 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
279 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
283 epj2make: prepbinaries
284 @$(call echo,Building epj2make...)
285 cd epj2make && $(MAKE)
288 @$(call echo,Building IDE...)
291 documentor: prepbinaries
292 @$(call echo,Building Documentor...)
293 cd documentor && $(MAKE)
295 codeguard: prepcodeguard
297 @$(call echo,Building CodeGuard client...)
298 cd codeGuard && $(MAKE)
304 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
308 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
309 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
310 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
313 ifndef WINDOWS_TARGET
315 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
321 @$(call echo,Building EDA...)
324 emptyoutput: outputdirs
325 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
326 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
327 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
328 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
329 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
330 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
331 ifdef EDASQLiteCipher
332 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
335 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
336 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
337 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
338 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
339 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
340 ifdef EDASQLiteCipher
341 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
343 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
344 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
345 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
346 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
347 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
348 ifdef EDASQLiteCipher
349 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
352 $(call rmq,$(OBJBINDIR)ear$(E))
353 $(call rmq,$(OBJBINDIR)ecc$(E))
354 $(call rmq,$(OBJBINDIR)ecp$(E))
355 $(call rmq,$(OBJBINDIR)ecs$(E))
356 $(call rmq,$(OBJBINDIR)epj2make$(E))
357 $(call rmq,$(OBJBINDIR)ide$(E))
358 $(call rmq,$(OBJBINDIR)documentor$(E))
359 ifdef EDASQLiteCipher
360 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
365 cd deps && $(MAKE) clean
367 cd ecere && $(MAKE) clean
368 cd compiler && $(MAKE) clean
369 cd ear && $(MAKE) clean
370 cd epj2make && $(MAKE) clean
371 cd ide && $(MAKE) clean
372 cd documentor && $(MAKE) clean
374 cd codeGuard && $(MAKE) clean
376 cd eda && $(MAKE) clean
379 realclean: outputdirs
381 cd deps && $(MAKE) realclean
383 cd ecere && $(MAKE) realclean
384 cd compiler && $(MAKE) realclean
385 cd ear && $(MAKE) realclean
386 cd epj2make && $(MAKE) realclean
387 cd ide && $(MAKE) realclean
388 cd documentor && $(MAKE) realclean
390 cd codeGuard && $(MAKE) realclean
392 cd eda && $(MAKE) realclean
393 $(call rmrq,obj/$(PLATFORM)/)
396 distclean: outputdirs
398 cd deps && $(MAKE) distclean
400 cd ecere && $(MAKE) distclean
401 cd compiler && $(MAKE) distclean
402 cd ear && $(MAKE) distclean
403 cd epj2make && $(MAKE) distclean
404 cd ide && $(MAKE) distclean
405 cd documentor && $(MAKE) distclean
407 cd codeGuard && $(MAKE) distclean
409 cd eda && $(MAKE) distclean
413 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
416 ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
417 ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
418 ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
419 compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
420 compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
421 compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
422 compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
423 ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
424 epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
425 documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
426 ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
427 eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
428 eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
431 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
434 ifdef EDASQLiteCipher
435 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
438 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
439 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
440 # Symlinks for libs on Linux
441 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
442 prepinstall: $(DOC) $(BINARIES) outputdirs
445 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
446 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
447 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
448 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
449 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
450 ifdef EDASQLiteCipher
451 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
456 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
457 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
458 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
459 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
460 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
461 ifdef EDASQLiteCipher
462 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
464 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
465 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
466 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
467 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
468 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
469 ifdef EDASQLiteCipher
470 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
472 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
473 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
474 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
475 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
476 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
477 ifdef EDASQLiteCipher
478 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
482 ifndef WINDOWS_TARGET
484 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
485 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
486 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
487 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
488 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
489 ifdef EDASQLiteCipher
490 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
495 $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
496 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
497 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
498 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
499 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
500 $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
501 $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
503 $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
505 $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
508 install: prepinstall actualinstall
509 @$(call echo,The Ecere SDK has been installed.)
511 copyonlyinstall: actualinstall
512 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
516 $(call mkdirq,"$(BINDIR)/")
517 $(call mkdirq,"$(DESTSLIBDIR)/")
518 $(call mkdirq,"$(DOCDIR)/")
519 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
520 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
521 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
522 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
523 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
524 ifdef EDASQLiteCipher
525 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
527 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
528 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
529 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
530 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
531 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
532 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
533 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
535 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
537 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
538 $(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"
539 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
540 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
541 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
545 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
546 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
547 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
548 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
549 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
550 ifdef EDASQLiteCipher
551 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
553 install $(OBJBINDIR)ide$(E) $(BINDIR)/
554 install $(OBJBINDIR)ear$(E) $(BINDIR)/
555 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
556 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
557 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
558 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
559 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
561 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
563 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
564 install -d $(DOCDIR)/
565 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"
566 install doc/ecere.eCdoc $(DOCDIR)/
567 install doc/ecereCOM.eCdoc $(DOCDIR)/
568 install doc/EDA.eCdoc $(DOCDIR)/
569 mkdir -p $(MANDIR)/man1
570 cp -pRf share/man/man1/* $(MANDIR)/man1
571 mkdir -p $(SAMPLESDIR)
572 cp -pRf samples/* $(SAMPLESDIR)
573 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
574 mkdir -p $(EXTRASDIR)
575 cp -pRf extras/* $(EXTRASDIR)
576 chmod 777 $(EXTRASDIR)/audio
580 ifndef WINDOWS_TARGET
582 mkdir -p $(DESTLIBDIR)/ec
583 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
584 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
585 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
586 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
587 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
588 ifdef EDASQLiteCipher
589 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
591 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
592 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
593 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
594 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
595 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
596 ifdef EDASQLiteCipher
597 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
599 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
600 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
601 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
602 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
603 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
604 ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
605 ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
606 ifdef EDASQLiteCipher
607 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
610 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
611 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
614 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
615 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
616 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
617 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
618 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
619 ifdef EDASQLiteCipher
620 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
623 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
624 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
625 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
626 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
627 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
628 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
629 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
631 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
633 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
635 install $(INSTALL_FLAGS) -d $(DOCDIR)
637 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
638 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"
639 install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
640 install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
641 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
642 mkdir -p $(MANDIR)/man1
643 cp -pRf share/man/man1/* $(MANDIR)/man1
644 mkdir -p $(SAMPLESDIR)
645 cp -pRf samples/* $(SAMPLESDIR)
646 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
647 mkdir -p $(EXTRASDIR)
648 cp $(CPFLAGS) extras/* $(EXTRASDIR)
649 chmod 777 $(EXTRASDIR)/audio
651 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
652 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
653 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
654 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
655 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
656 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
657 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
658 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
659 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
660 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
661 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
662 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
663 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
664 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
665 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
666 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
667 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
668 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
669 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
675 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
676 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
677 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
678 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
679 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
680 ifdef EDASQLiteCipher
681 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
683 $(call rmq,"$(BINDIR)/ide$(E)")
684 $(call rmq,"$(BINDIR)/ear$(E)")
685 $(call rmq,"$(BINDIR)/ecc$(E)")
686 $(call rmq,"$(BINDIR)/ecp$(E)")
687 $(call rmq,"$(BINDIR)/ecs$(E)")
688 $(call rmq,"$(BINDIR)/epj2make$(E)")
689 $(call rmq,"$(BINDIR)/documentor$(E)")
691 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
693 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
694 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
695 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
696 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
697 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
699 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
700 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
701 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
702 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
703 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
704 ifdef EDASQLiteCipher
705 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
707 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
708 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
709 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
710 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
711 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
712 ifdef EDASQLiteCipher
713 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
715 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
716 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
718 $(call rmdirq,"$(BINDIR)/")
719 $(call rmdirq,"$(DESTLIBDIR)/")
720 $(call rmdirq,"$(DESTSLIBDIR)/")
721 $(call rmdirq,"$(DOCDIR)/")
723 $(call rmdirq,"$(DESTDIR)/")
725 @$(call echo,The Ecere SDK has been uninstalled.)
728 @$(call echo,Printing values of some variables.)
729 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
730 @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
731 @$(call echo,PLATFORM=$(PLATFORM))
732 @$(call echo,LINUX_HOST=$(LINUX_HOST))
733 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
734 @$(call echo,OSX_HOST=$(OSX_HOST))
735 @$(call echo,OSX_TARGET=$(OSX_TARGET))
736 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
737 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
738 @$(call echo,BSD_HOST=$(BSD_HOST))
739 @$(call echo,BSD_TARGET=$(BSD_TARGET))
740 @$(call echo,CCACHE=$(CCACHE))
741 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
742 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
743 @$(call echo,DISTCC=$(DISTCC))
744 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
745 @$(call echo,CC=$(CC))
746 @$(call echo,CPP=$(CPP))
747 @$(call echo,ECP=$(ECP))
748 @$(call echo,ECC=$(ECC))
749 @$(call echo,ECS=$(ECS))
750 @$(call echo,EAR=$(EAR))
751 @$(call echo,AS=$(AS))
752 @$(call echo,LD=$(LD))
753 @$(call echo,AR=$(AR))
754 @$(call echo,STRIP=$(STRIP))
755 @$(call echo,UPX=$(UPX))
756 @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
757 @$(call echo,DESTDIR=$(DESTDIR))
758 @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
759 @$(call echo,ARCH=$(ARCH))
760 @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))