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 ifdef ProgramFiles(x86)
16 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
19 export DESTDIR=$(ProgramFiles)/Ecere SDK
21 export DESTDIR=$(SystemDrive)/Ecere SDK
30 export DOCDIR=$(DESTDIR)$(prefix)/doc
34 export BINDIR=$(DESTDIR)$(prefix)/bin
38 export LIBDIR=$(BINDIR)
42 export SLIBDIR=$(DESTDIR)$(prefix)/lib
46 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
50 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
67 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
71 export MANDIR=$(DESTDIR)$(prefix)/share/man/
75 export BINDIR=$(DESTDIR)$(prefix)/bin
78 HOSTTYPE := $(shell uname -m)
81 ifeq "$(HOSTTYPE)" "x86_64"
82 export LIBDIR=$(DESTDIR)$(prefix)/lib32
83 export PREFIXLIBDIR=$(prefix)/lib32
85 export LIBDIR=$(DESTDIR)$(prefix)/lib
86 export PREFIXLIBDIR=$(prefix)/lib
91 ifeq "$(HOSTTYPE)" "x86_64"
92 export SLIBDIR=$(DESTDIR)$(prefix)/lib32
94 export SLIBDIR=$(DESTDIR)$(prefix)/lib
99 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
103 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
109 OBJDIR := obj$(OBJALT)/
110 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
111 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
113 all: prepbinaries ide epj2make documentor eda codeguard
114 @$(call echo,The Ecere SDK is fully built.)
117 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
118 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
119 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
121 bootstrap: outputdirs
122 cd compiler && $(MAKE) bootstrap
125 @$(call echo,Building dependencies...)
128 ecere: bootstrap deps
129 @$(call echo,Building 2nd stage ecere...)
130 cd ecere && $(MAKE) nores
131 cd ear && $(MAKE) nores
132 cd ecere && $(MAKE) cleantarget
136 @$(call echo,Building eC Core Runtime...)
137 cd ecere && $(MAKE) -f Makefile.ecereCOM
139 ecerevanilla: bootstrap
140 @$(call echo,Building Vanilla Ecere...)
141 cd ecere && $(MAKE) -f Makefile.vanilla
143 ear: ecere ecerevanilla
144 @$(call echo,Building ear...)
145 cd ear && cd cmd && $(MAKE) cleantarget
149 @$(call echo,Building 2nd stage compiler)
150 cd compiler && $(MAKE)
152 prepbinaries: compiler ecerecom
153 @$(call echo,Enabling 2nd stage binaries...)
155 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
156 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
157 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
160 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
161 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
162 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
163 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
164 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
165 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
166 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
167 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
168 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
170 ifndef WINDOWS_TARGET
172 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
173 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
174 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
177 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
178 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
179 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
180 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
182 epj2make: prepbinaries
183 @$(call echo,Building epj2make...)
184 cd epj2make && $(MAKE)
187 @$(call echo,Building IDE...)
190 documentor: prepbinaries
191 @$(call echo,Building Documentor...)
192 cd documentor && $(MAKE)
194 codeguard: prepcodeguard
196 @$(call echo,Building CodeGuard client...)
197 cd codeGuard && $(MAKE)
203 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
207 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
208 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
209 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
212 ifndef WINDOWS_TARGET
214 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
220 @$(call echo,Building EDA...)
223 emptyoutput: outputdirs
224 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
225 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
226 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
227 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
228 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
229 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
230 ifdef EDASQLiteCipher
231 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
234 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
235 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
236 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
237 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
238 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
239 ifdef EDASQLiteCipher
240 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
242 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
243 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
244 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
245 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
246 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
247 ifdef EDASQLiteCipher
248 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
251 $(call rmq,$(OBJBINDIR)ear$(E))
252 $(call rmq,$(OBJBINDIR)ecc$(E))
253 $(call rmq,$(OBJBINDIR)ecp$(E))
254 $(call rmq,$(OBJBINDIR)ecs$(E))
255 $(call rmq,$(OBJBINDIR)epj2make$(E))
256 $(call rmq,$(OBJBINDIR)ide$(E))
257 $(call rmq,$(OBJBINDIR)documentor$(E))
258 ifdef EDASQLiteCipher
259 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
263 cd deps && $(MAKE) clean
264 cd ecere && $(MAKE) clean
265 cd compiler && $(MAKE) clean
266 cd ear && $(MAKE) clean
267 cd epj2make && $(MAKE) clean
268 cd ide && $(MAKE) clean
269 cd documentor && $(MAKE) clean
271 cd codeGuard && $(MAKE) clean
273 cd eda && $(MAKE) clean
277 cd deps && $(MAKE) realclean
278 cd ecere && $(MAKE) realclean
279 cd compiler && $(MAKE) realclean
280 cd ear && $(MAKE) realclean
281 cd epj2make && $(MAKE) realclean
282 cd ide && $(MAKE) realclean
283 cd documentor && $(MAKE) realclean
285 cd codeGuard && $(MAKE) realclean
287 cd eda && $(MAKE) realclean
288 $(call rmrq,obj/$(PLATFORM)/)
292 cd deps && $(MAKE) distclean
293 cd ecere && $(MAKE) distclean
294 cd compiler && $(MAKE) distclean
295 cd ear && $(MAKE) distclean
296 cd epj2make && $(MAKE) distclean
297 cd ide && $(MAKE) distclean
298 cd documentor && $(MAKE) distclean
300 cd codeGuard && $(MAKE) distclean
302 cd eda && $(MAKE) distclean
306 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
309 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
310 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
311 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
312 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
313 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
314 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
315 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
316 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
317 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
318 documentor/obj/release.$(PLATFORM)/documentor$(E) \
319 ide/obj/release.$(PLATFORM)/ide$(E) \
320 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
321 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
324 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
327 ifdef EDASQLiteCipher
328 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
331 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
332 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
333 # Symlinks for libs on Linux
334 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
335 prepinstall: $(DOC) $(BINARIES) outputdirs
338 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
339 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
340 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
341 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
342 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
343 ifdef EDASQLiteCipher
344 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
349 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
350 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
351 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
352 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
353 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
354 ifdef EDASQLiteCipher
355 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
357 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
358 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
359 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
360 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
361 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
362 ifdef EDASQLiteCipher
363 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
365 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
366 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
367 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
368 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
369 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
370 ifdef EDASQLiteCipher
371 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
375 ifndef WINDOWS_TARGET
377 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
378 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
379 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
380 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
381 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
382 ifdef EDASQLiteCipher
383 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
388 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
389 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
390 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
391 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
392 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
393 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
394 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
396 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
398 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
401 install: prepinstall actualinstall
402 @$(call echo,The Ecere SDK has been installed.)
404 copyonlyinstall: actualinstall
405 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
409 $(call mkdirq,"$(BINDIR)/")
410 $(call mkdirq,"$(SLIBDIR)/")
411 $(call mkdirq,"$(DOCDIR)/")
412 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(LIBDIR)/")
413 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(LIBDIR)/")
414 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(LIBDIR)/")
415 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(LIBDIR)/")
416 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(LIBDIR)/")
417 ifdef EDASQLiteCipher
418 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(LIBDIR)/")
420 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
421 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
422 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
423 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
424 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
425 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
426 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
428 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
430 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(SLIBDIR)/")
431 $(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"
432 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
433 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
434 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
438 install $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/
439 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/
440 install $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/
441 install $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/
442 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/
443 ifdef EDASQLiteCipher
444 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/
446 install $(OBJBINDIR)ide$(E) $(BINDIR)/
447 install $(OBJBINDIR)ear$(E) $(BINDIR)/
448 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
449 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
450 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
451 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
452 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
454 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
456 install $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/
457 install -d $(DOCDIR)/
458 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"
459 install doc/ecere.eCdoc $(DOCDIR)/
460 install doc/ecereCOM.eCdoc $(DOCDIR)/
461 install doc/EDA.eCdoc $(DOCDIR)/
462 mkdir -p -m 777 $(SAMPLESDIR)
463 cp -pRf samples/* $(SAMPLESDIR)
464 mkdir -p -m 777 $(EXTRASDIR)
465 cp -pRf extras/* $(EXTRASDIR)
469 ifndef WINDOWS_TARGET
471 install -D $(OBJLIBDIR)$(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SOV)
472 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SOV)
473 install -D $(OBJLIBDIR)$(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SOV)
474 install -D $(OBJLIBDIR)$(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SOV)
475 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SOV)
476 ifdef EDASQLiteCipher
477 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)
479 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO).0
480 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO).0
481 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO).0
482 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO).0
483 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO).0
484 ifdef EDASQLiteCipher
485 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0
487 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO)
488 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO)
489 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO)
490 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO)
491 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO)
492 mkdir -p -m 777 $(DESTDIR)$(prefix)/lib/ec
493 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecere$(SO)
494 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecereCOM$(SO)
495 ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ec$(SO)
496 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDA$(SO)
497 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDASQLite$(SO)
498 ifdef EDASQLiteCipher
499 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
501 install -D -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
502 install -D -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
504 install -D $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/$(LP)ecere$(SO)
505 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/$(LP)ecereCOM$(SO)
506 install -D $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/$(LP)ec$(SO)
507 install -D $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/$(LP)EDA$(SO)
508 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/$(LP)EDASQLite$(SO)
509 ifdef EDASQLiteCipher
510 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
513 install -D $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
514 install -D $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
515 install -D $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
516 install -D $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
517 install -D $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
518 install -D $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
519 install -D $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
521 install -D $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
523 install -D $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/libecereVanilla$(A)
524 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
525 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"
526 install -D -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
527 install -D -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
528 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
529 mkdir -p -m 777 $(MANDIR)/man1
530 cp -pRf share/man/man1/* $(MANDIR)/man1
531 mkdir -p -m 777 $(SAMPLESDIR)
532 cp -pRf samples/* $(SAMPLESDIR)
533 mkdir -p -m 777 $(EXTRASDIR)
534 cp -pRf extras/* $(EXTRASDIR)
536 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecere0
537 install -D -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
538 gzip -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
539 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-dev
540 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
541 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-extras
542 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
543 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-samples
544 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
545 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-sdk
546 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
547 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libec0
548 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
549 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecerecom0
550 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
551 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libeda0
552 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
553 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libedasqlite0
554 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
560 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO)")
561 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO)")
562 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO)")
563 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO)")
564 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO)")
565 ifdef EDASQLiteCipher
566 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO)")
568 $(call rmq,"$(BINDIR)/ide$(E)")
569 $(call rmq,"$(BINDIR)/ear$(E)")
570 $(call rmq,"$(BINDIR)/ecc$(E)")
571 $(call rmq,"$(BINDIR)/ecp$(E)")
572 $(call rmq,"$(BINDIR)/ecs$(E)")
573 $(call rmq,"$(BINDIR)/epj2make$(E)")
574 $(call rmq,"$(BINDIR)/documentor$(E)")
576 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
578 $(call rmq,"$(SLIBDIR)/libecereVanilla$(A)")
579 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
580 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
581 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
582 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
584 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO).0")
585 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO).0")
586 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO).0")
587 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO).0")
588 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO).0")
589 ifdef EDASQLiteCipher
590 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
592 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SOV)")
593 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SOV)")
594 $(call rmq,"$(LIBDIR)/$(LP)ec$(SOV)")
595 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SOV)")
596 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SOV)")
597 ifdef EDASQLiteCipher
598 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
600 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
601 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
603 $(call rmdirq,"$(BINDIR)/")
604 $(call rmdirq,"$(LIBDIR)/")
605 $(call rmdirq,"$(SLIBDIR)/")
606 $(call rmdirq,"$(DOCDIR)/")
608 $(call rmdirq,"$(DESTDIR)/")
610 @$(call echo,The Ecere SDK has been uninstalled.)
613 @$(call echo,Printing values of some variables.)
614 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
615 @$(call echo,TARGET_PLATFORM=$(HOST_PLATFORM))
616 @$(call echo,PLATFORM=$(PLATFORM))
617 @$(call echo,LINUX_HOST=$(LINUX_HOST))
618 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
619 @$(call echo,OSX_HOST=$(OSX_HOST))
620 @$(call echo,OSX_TARGET=$(OSX_TARGET))
621 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
622 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
623 @$(call echo,BSD_HOST=$(BSD_HOST))
624 @$(call echo,BSD_TARGET=$(BSD_TARGET))
625 @$(call echo,CCACHE=$(CCACHE))
626 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
627 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
628 @$(call echo,DISTCC=$(DISTCC))
629 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
630 @$(call echo,CC=$(CC))
631 @$(call echo,CPP=$(CPP))
632 @$(call echo,ECP=$(ECP))
633 @$(call echo,ECC=$(ECC))
634 @$(call echo,ECS=$(ECS))
635 @$(call echo,EAR=$(EAR))
636 @$(call echo,AS=$(AS))
637 @$(call echo,LD=$(LD))
638 @$(call echo,AR=$(AR))
639 @$(call echo,STRIP=$(STRIP))
640 @$(call echo,UPX=$(UPX))