1 .PHONY: all clean realclean distclean emptyoutput prepinstall actualinstall install copyonlyinstall uninstall troubleshoot outputdirs bootstrap deps ecere ecerecom ecerevanilla ear compiler prepbinaries epj2make ide documentor eda prepcodeguard codeguard
4 include crossplatform.mk
15 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
20 HOST_SOV := $(HOST_SO)
22 HOST_SOV := $(HOST_SO)$(LIBVER)
31 ifdef ProgramFiles(x86)
32 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
35 export DESTDIR=$(ProgramFiles)/Ecere SDK
37 export DESTDIR=$(SystemDrive)/Ecere SDK
46 export DOCDIR=$(DESTDIR)$(prefix)/doc
50 export BINDIR=$(DESTDIR)$(prefix)/bin
54 export LIBDIR=$(BINDIR)
56 export DESTLIBDIR=$(LIBDIR)
59 export SLIBDIR=$(DESTDIR)$(prefix)/lib
61 export DESTSLIBDIR=$(SLIBDIR)
64 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
68 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
85 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
89 export MANDIR=$(DESTDIR)$(prefix)/share/man/
93 export BINDIR=$(DESTDIR)$(prefix)/bin
96 HOSTTYPE := $(shell uname -m)
99 export PREFIXLIBDIR=$(LIBDIR)
102 ifeq "$(HOSTTYPE)" "x86_64"
103 export PREFIXLIBDIR=$(prefix)/lib32
105 export PREFIXLIBDIR=$(prefix)/lib
110 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
112 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
114 DESTSLIBDIR := $(DESTLIBDIR)
118 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
122 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
128 OBJDIR := obj$(OBJALT)/
129 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
130 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
131 XOBJDIR := obj$(OBJALT)/
132 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
133 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
135 all: prepbinaries ide epj2make documentor eda codeguard
136 @$(call echo,The Ecere SDK is fully built.)
139 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
140 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
141 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
143 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
144 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
145 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
148 bootstrap: outputdirs
149 cd compiler && $(MAKE) $(XBOOT) bootstrap
153 @$(call echo,Building dependencies (host)...)
154 cd deps && $(MAKE) $(XBOOT)
156 @$(call echo,Building dependencies...)
159 ecere: bootstrap deps
161 @$(call echo,Building 2nd stage ecere (host)...)
163 @$(call echo,Building 2nd stage ecere...)
165 cd ecere && $(MAKE) nores $(XBOOT)
166 cd ear && $(MAKE) nores $(XBOOT)
167 cd ecere && $(MAKE) cleantarget
169 @$(call echo,Building 2nd stage ecere...)
175 @$(call echo,Building eC Core Runtime (host)...)
176 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
178 @$(call echo,Building eC Core Runtime...)
179 cd ecere && $(MAKE) -f Makefile.ecereCOM
181 ecerevanilla: bootstrap
182 @$(call echo,Building Vanilla Ecere...)
183 cd ecere && $(MAKE) -f Makefile.vanilla
185 ear: ecere ecerevanilla
186 @$(call echo,Building ear...)
187 cd ear && cd cmd && $(MAKE) cleantarget
192 @$(call echo,Building 2nd stage compiler (host))
193 cd compiler && $(MAKE) $(XBOOT)
195 @$(call echo,Building 2nd stage compiler)
196 cd compiler && $(MAKE)
198 prepbinaries: compiler ecerecom
199 @$(call echo,Enabling 2nd stage binaries...)
201 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
202 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
203 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
206 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
207 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
208 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
209 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
210 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
211 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
212 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
213 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
214 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
216 ifndef WINDOWS_TARGET
218 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
219 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
220 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
223 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
224 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
225 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
226 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
231 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
232 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
233 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
236 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
237 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
238 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
239 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
240 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
241 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
242 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
243 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
244 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
248 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
249 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
250 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
253 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
254 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
255 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
256 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
260 epj2make: prepbinaries
261 @$(call echo,Building epj2make...)
262 cd epj2make && $(MAKE)
265 @$(call echo,Building IDE...)
268 documentor: prepbinaries
269 @$(call echo,Building Documentor...)
270 cd documentor && $(MAKE)
272 codeguard: prepcodeguard
274 @$(call echo,Building CodeGuard client...)
275 cd codeGuard && $(MAKE)
281 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
285 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
286 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
287 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
290 ifndef WINDOWS_TARGET
292 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
298 @$(call echo,Building EDA...)
301 emptyoutput: outputdirs
302 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
303 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
304 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
305 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
306 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
307 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
308 ifdef EDASQLiteCipher
309 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
312 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
313 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
314 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
315 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
316 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
317 ifdef EDASQLiteCipher
318 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
320 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
321 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
322 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
323 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
324 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
325 ifdef EDASQLiteCipher
326 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
329 $(call rmq,$(OBJBINDIR)ear$(E))
330 $(call rmq,$(OBJBINDIR)ecc$(E))
331 $(call rmq,$(OBJBINDIR)ecp$(E))
332 $(call rmq,$(OBJBINDIR)ecs$(E))
333 $(call rmq,$(OBJBINDIR)epj2make$(E))
334 $(call rmq,$(OBJBINDIR)ide$(E))
335 $(call rmq,$(OBJBINDIR)documentor$(E))
336 ifdef EDASQLiteCipher
337 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
341 cd deps && $(MAKE) clean
342 cd ecere && $(MAKE) clean
343 cd compiler && $(MAKE) clean
344 cd ear && $(MAKE) clean
345 cd epj2make && $(MAKE) clean
346 cd ide && $(MAKE) clean
347 cd documentor && $(MAKE) clean
349 cd codeGuard && $(MAKE) clean
351 cd eda && $(MAKE) clean
355 cd deps && $(MAKE) realclean
356 cd ecere && $(MAKE) realclean
357 cd compiler && $(MAKE) realclean
358 cd ear && $(MAKE) realclean
359 cd epj2make && $(MAKE) realclean
360 cd ide && $(MAKE) realclean
361 cd documentor && $(MAKE) realclean
363 cd codeGuard && $(MAKE) realclean
365 cd eda && $(MAKE) realclean
366 $(call rmrq,obj/$(PLATFORM)/)
370 cd deps && $(MAKE) distclean
371 cd ecere && $(MAKE) distclean
372 cd compiler && $(MAKE) distclean
373 cd ear && $(MAKE) distclean
374 cd epj2make && $(MAKE) distclean
375 cd ide && $(MAKE) distclean
376 cd documentor && $(MAKE) distclean
378 cd codeGuard && $(MAKE) distclean
380 cd eda && $(MAKE) distclean
384 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
387 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
388 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
389 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
390 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
391 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
392 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
393 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
394 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
395 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
396 documentor/obj/release.$(PLATFORM)/documentor$(E) \
397 ide/obj/release.$(PLATFORM)/ide$(E) \
398 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
399 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
402 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
405 ifdef EDASQLiteCipher
406 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
409 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
410 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
411 # Symlinks for libs on Linux
412 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
413 prepinstall: $(DOC) $(BINARIES) outputdirs
416 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
417 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
418 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
419 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
420 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
421 ifdef EDASQLiteCipher
422 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
427 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
428 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
429 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
430 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
431 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
432 ifdef EDASQLiteCipher
433 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
435 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
436 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
437 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
438 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
439 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
440 ifdef EDASQLiteCipher
441 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
443 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
444 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
445 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
446 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
447 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
448 ifdef EDASQLiteCipher
449 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
453 ifndef WINDOWS_TARGET
455 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
456 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
457 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
458 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
459 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
460 ifdef EDASQLiteCipher
461 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
466 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
467 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
468 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
469 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
470 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
471 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
472 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
474 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
476 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
479 install: prepinstall actualinstall
480 @$(call echo,The Ecere SDK has been installed.)
482 copyonlyinstall: actualinstall
483 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
487 $(call mkdirq,"$(BINDIR)/")
488 $(call mkdirq,"$(DESTSLIBDIR)/")
489 $(call mkdirq,"$(DOCDIR)/")
490 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
491 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
492 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
493 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
494 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
495 ifdef EDASQLiteCipher
496 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
498 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
499 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
500 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
501 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
502 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
503 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
504 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
506 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
508 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
509 $(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"
510 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
511 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
512 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
516 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
517 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
518 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
519 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
520 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
521 ifdef EDASQLiteCipher
522 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
524 install $(OBJBINDIR)ide$(E) $(BINDIR)/
525 install $(OBJBINDIR)ear$(E) $(BINDIR)/
526 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
527 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
528 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
529 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
530 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
532 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
534 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
535 install -d $(DOCDIR)/
536 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"
537 install doc/ecere.eCdoc $(DOCDIR)/
538 install doc/ecereCOM.eCdoc $(DOCDIR)/
539 install doc/EDA.eCdoc $(DOCDIR)/
540 mkdir -p $(SAMPLESDIR)
541 cp -pRf samples/* $(SAMPLESDIR)
542 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
543 mkdir -p $(EXTRASDIR)
544 cp -pRf extras/* $(EXTRASDIR)
545 chmod 777 $(EXTRASDIR)/audio
549 ifndef WINDOWS_TARGET
551 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
552 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
553 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/$(LP)ec$(SOV)
554 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SOV)
555 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SOV)
556 ifdef EDASQLiteCipher
557 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)
559 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
560 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
561 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/$(LP)ec$(SO).0
562 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO).0
563 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO).0
564 ifdef EDASQLiteCipher
565 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0
567 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
568 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
569 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/$(LP)ec$(SO)
570 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO)
571 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
572 mkdir -p $(DESTLIBDIR)/ec
573 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
574 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
575 ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
576 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
577 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
578 ifdef EDASQLiteCipher
579 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
582 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
583 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
586 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
587 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
588 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
589 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
590 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
591 ifdef EDASQLiteCipher
592 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
595 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
596 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
597 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
598 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
599 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
600 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
601 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
603 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
605 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
606 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
607 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"
608 install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
609 install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
610 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
611 mkdir -p $(MANDIR)/man1
612 cp -pRf share/man/man1/* $(MANDIR)/man1
613 mkdir -p $(SAMPLESDIR)
614 cp -pRf samples/* $(SAMPLESDIR)
615 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
616 mkdir -p $(EXTRASDIR)
617 cp $(CPFLAGS) extras/* $(EXTRASDIR)
618 chmod 777 $(EXTRASDIR)/audio
620 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
621 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
622 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
623 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
624 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
625 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
626 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
627 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
628 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
629 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
630 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
631 mkdir -p $(DESTDIR)$(prefix)/share/doc/libec0
632 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
633 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
634 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
635 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
636 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
637 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
638 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
644 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
645 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
646 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
647 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
648 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
649 ifdef EDASQLiteCipher
650 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
652 $(call rmq,"$(BINDIR)/ide$(E)")
653 $(call rmq,"$(BINDIR)/ear$(E)")
654 $(call rmq,"$(BINDIR)/ecc$(E)")
655 $(call rmq,"$(BINDIR)/ecp$(E)")
656 $(call rmq,"$(BINDIR)/ecs$(E)")
657 $(call rmq,"$(BINDIR)/epj2make$(E)")
658 $(call rmq,"$(BINDIR)/documentor$(E)")
660 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
662 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
663 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
664 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
665 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
666 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
668 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
669 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
670 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
671 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
672 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
673 ifdef EDASQLiteCipher
674 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
676 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
677 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
678 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
679 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
680 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
681 ifdef EDASQLiteCipher
682 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
684 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
685 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
687 $(call rmdirq,"$(BINDIR)/")
688 $(call rmdirq,"$(DESTLIBDIR)/")
689 $(call rmdirq,"$(DESTSLIBDIR)/")
690 $(call rmdirq,"$(DOCDIR)/")
692 $(call rmdirq,"$(DESTDIR)/")
694 @$(call echo,The Ecere SDK has been uninstalled.)
697 @$(call echo,Printing values of some variables.)
698 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
699 @$(call echo,TARGET_PLATFORM=$(HOST_PLATFORM))
700 @$(call echo,PLATFORM=$(PLATFORM))
701 @$(call echo,LINUX_HOST=$(LINUX_HOST))
702 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
703 @$(call echo,OSX_HOST=$(OSX_HOST))
704 @$(call echo,OSX_TARGET=$(OSX_TARGET))
705 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
706 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
707 @$(call echo,BSD_HOST=$(BSD_HOST))
708 @$(call echo,BSD_TARGET=$(BSD_TARGET))
709 @$(call echo,CCACHE=$(CCACHE))
710 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
711 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
712 @$(call echo,DISTCC=$(DISTCC))
713 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
714 @$(call echo,CC=$(CC))
715 @$(call echo,CPP=$(CPP))
716 @$(call echo,ECP=$(ECP))
717 @$(call echo,ECC=$(ECC))
718 @$(call echo,ECS=$(ECS))
719 @$(call echo,EAR=$(EAR))
720 @$(call echo,AS=$(AS))
721 @$(call echo,LD=$(LD))
722 @$(call echo,AR=$(AR))
723 @$(call echo,STRIP=$(STRIP))
724 @$(call echo,UPX=$(UPX))