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
14 ifdef ProgramFiles(x86)
15 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
18 export DESTDIR=$(ProgramFiles)/Ecere SDK
20 export DESTDIR=$(SystemDrive)/Ecere SDK
29 export DOCDIR=$(DESTDIR)$(prefix)/doc
33 export BINDIR=$(DESTDIR)$(prefix)/bin
37 export LIBDIR=$(BINDIR)
41 export SLIBDIR=$(DESTDIR)$(prefix)/lib
45 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
49 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
66 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
70 export MANDIR=$(DESTDIR)$(prefix)/share/man/
74 export BINDIR=$(DESTDIR)$(prefix)/bin
77 HOSTTYPE := $(shell uname -m)
80 ifeq "$(HOSTTYPE)" "x86_64"
81 export LIBDIR=$(DESTDIR)$(prefix)/lib32
82 export PREFIXLIBDIR=$(prefix)/lib32
84 export LIBDIR=$(DESTDIR)$(prefix)/lib
85 export PREFIXLIBDIR=$(prefix)/lib
90 ifeq "$(HOSTTYPE)" "x86_64"
91 export SLIBDIR=$(DESTDIR)$(prefix)/lib32
93 export SLIBDIR=$(DESTDIR)$(prefix)/lib
98 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
102 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
108 OBJDIR := obj$(OBJALT)/
109 OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
110 OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
112 all: prepbinaries ide epj2make documentor eda codeguard
113 @$(call echo,The Ecere SDK is fully built.)
116 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
117 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
118 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
120 bootstrap: outputdirs
121 cd compiler && $(MAKE) bootstrap
124 @$(call echo,Building dependencies...)
127 ecere: bootstrap deps
128 @$(call echo,Building 2nd stage ecere...)
129 cd ecere && $(MAKE) nores
130 cd ear && $(MAKE) nores
131 cd ecere && $(MAKE) cleantarget
135 @$(call echo,Building eC Core Runtime...)
136 cd ecere && $(MAKE) -f Makefile.ecereCOM
138 ecerevanilla: bootstrap
139 @$(call echo,Building Vanilla Ecere...)
140 cd ecere && $(MAKE) -f Makefile.vanilla
142 ear: ecere ecerevanilla
143 @$(call echo,Building ear...)
144 cd ear && cd cmd && $(MAKE) cleantarget
148 @$(call echo,Building 2nd stage compiler)
149 cd compiler && $(MAKE)
151 prepbinaries: compiler ecerecom
152 @$(call echo,Enabling 2nd stage binaries...)
154 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
155 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
156 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
159 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
160 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
161 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
162 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
163 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
164 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
165 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
166 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
167 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
171 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
172 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
173 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
176 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
177 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
178 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
179 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
181 epj2make: prepbinaries
182 @$(call echo,Building epj2make...)
183 cd epj2make && $(MAKE)
186 @$(call echo,Building IDE...)
189 documentor: prepbinaries
190 @$(call echo,Building Documentor...)
191 cd documentor && $(MAKE)
193 codeguard: prepcodeguard
195 @$(call echo,Building CodeGuard client...)
196 cd codeGuard && $(MAKE)
202 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
206 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
207 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
208 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
213 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
219 @$(call echo,Building EDA...)
222 emptyoutput: outputdirs
223 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
224 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
225 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
226 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
227 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
228 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
229 ifdef EDASQLiteCipher
230 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
233 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
234 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
235 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
236 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
237 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
238 ifdef EDASQLiteCipher
239 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
241 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
242 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
243 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
244 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
245 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
246 ifdef EDASQLiteCipher
247 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
250 $(call rmq,$(OBJBINDIR)ear$(E))
251 $(call rmq,$(OBJBINDIR)ecc$(E))
252 $(call rmq,$(OBJBINDIR)ecp$(E))
253 $(call rmq,$(OBJBINDIR)ecs$(E))
254 $(call rmq,$(OBJBINDIR)epj2make$(E))
255 $(call rmq,$(OBJBINDIR)ide$(E))
256 $(call rmq,$(OBJBINDIR)documentor$(E))
257 ifdef EDASQLiteCipher
258 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
262 cd deps && $(MAKE) clean
263 cd ecere && $(MAKE) clean
264 cd compiler && $(MAKE) clean
265 cd ear && $(MAKE) clean
266 cd epj2make && $(MAKE) clean
267 cd ide && $(MAKE) clean
268 cd documentor && $(MAKE) clean
270 cd codeGuard && $(MAKE) clean
272 cd eda && $(MAKE) clean
276 cd deps && $(MAKE) realclean
277 cd ecere && $(MAKE) realclean
278 cd compiler && $(MAKE) realclean
279 cd ear && $(MAKE) realclean
280 cd epj2make && $(MAKE) realclean
281 cd ide && $(MAKE) realclean
282 cd documentor && $(MAKE) realclean
284 cd codeGuard && $(MAKE) realclean
286 cd eda && $(MAKE) realclean
287 $(call rmrq,obj/$(PLATFORM)/)
291 cd deps && $(MAKE) distclean
292 cd ecere && $(MAKE) distclean
293 cd compiler && $(MAKE) distclean
294 cd ear && $(MAKE) distclean
295 cd epj2make && $(MAKE) distclean
296 cd ide && $(MAKE) distclean
297 cd documentor && $(MAKE) distclean
299 cd codeGuard && $(MAKE) distclean
301 cd eda && $(MAKE) distclean
305 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
308 ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
309 ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
310 ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
311 compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
312 compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
313 compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
314 compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
315 ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
316 epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
317 documentor/obj/release.$(PLATFORM)/documentor$(E) \
318 ide/obj/release.$(PLATFORM)/ide$(E) \
319 eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
320 eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
323 BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
326 ifdef EDASQLiteCipher
327 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
330 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
331 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
332 # Symlinks for libs on Linux
333 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
334 prepinstall: $(DOC) $(BINARIES) outputdirs
337 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
338 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
339 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
340 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
341 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
342 ifdef EDASQLiteCipher
343 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
348 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
349 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
350 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
351 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
352 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
353 ifdef EDASQLiteCipher
354 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
356 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
357 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
358 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
359 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
360 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
361 ifdef EDASQLiteCipher
362 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
364 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
365 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
366 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
367 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
368 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
369 ifdef EDASQLiteCipher
370 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
376 $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
377 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
378 $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
379 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
380 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
381 ifdef EDASQLiteCipher
382 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
387 $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
388 $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
389 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
390 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
391 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
392 $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
393 $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
395 $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
397 $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
400 install: prepinstall actualinstall
401 @$(call echo,The Ecere SDK has been installed.)
403 copyonlyinstall: actualinstall
404 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
408 $(call mkdirq,"$(BINDIR)/")
409 $(call mkdirq,"$(SLIBDIR)/")
410 $(call mkdirq,"$(DOCDIR)/")
411 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(LIBDIR)/")
412 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(LIBDIR)/")
413 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(LIBDIR)/")
414 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(LIBDIR)/")
415 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(LIBDIR)/")
416 ifdef EDASQLiteCipher
417 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(LIBDIR)/")
419 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
420 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
421 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
422 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
423 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
424 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
425 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
427 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
429 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(SLIBDIR)/")
430 $(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"
431 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
432 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
433 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
437 install $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/
438 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/
439 install $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/
440 install $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/
441 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/
442 ifdef EDASQLiteCipher
443 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/
445 install $(OBJBINDIR)ide$(E) $(BINDIR)/
446 install $(OBJBINDIR)ear$(E) $(BINDIR)/
447 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
448 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
449 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
450 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
451 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
453 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
455 install $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/
456 install -d $(DOCDIR)/
457 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"
458 install doc/ecere.eCdoc $(DOCDIR)/
459 install doc/ecereCOM.eCdoc $(DOCDIR)/
460 install doc/EDA.eCdoc $(DOCDIR)/
461 mkdir -p -m 777 $(SAMPLESDIR)
462 cp -pRf samples/* $(SAMPLESDIR)
463 mkdir -p -m 777 $(EXTRASDIR)
464 cp -pRf extras/* $(EXTRASDIR)
470 install -D $(OBJLIBDIR)$(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SOV)
471 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SOV)
472 install -D $(OBJLIBDIR)$(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SOV)
473 install -D $(OBJLIBDIR)$(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SOV)
474 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SOV)
475 ifdef EDASQLiteCipher
476 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)
478 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO).0
479 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO).0
480 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO).0
481 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO).0
482 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO).0
483 ifdef EDASQLiteCipher
484 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0
486 ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO)
487 ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO)
488 ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO)
489 ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO)
490 ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO)
491 mkdir -p -m 777 $(DESTDIR)$(prefix)/lib/ec
492 ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecere$(SO)
493 ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecereCOM$(SO)
494 ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ec$(SO)
495 ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDA$(SO)
496 ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDASQLite$(SO)
497 ifdef EDASQLiteCipher
498 ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
500 install -D -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
501 install -D -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
503 install -D $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/$(LP)ecere$(SO)
504 install -D $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/$(LP)ecereCOM$(SO)
505 install -D $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/$(LP)ec$(SO)
506 install -D $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/$(LP)EDA$(SO)
507 install -D $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/$(LP)EDASQLite$(SO)
508 ifdef EDASQLiteCipher
509 install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
512 install -D $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
513 install -D $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
514 install -D $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
515 install -D $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
516 install -D $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
517 install -D $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
518 install -D $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
520 install -D $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
522 install -D $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/libecereVanilla$(A)
523 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
524 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"
525 install -D -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
526 install -D -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
527 install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
528 mkdir -p -m 777 $(MANDIR)/man1
529 cp -pRf share/man/man1/* $(MANDIR)/man1
530 mkdir -p -m 777 $(SAMPLESDIR)
531 cp -pRf samples/* $(SAMPLESDIR)
532 mkdir -p -m 777 $(EXTRASDIR)
533 cp -pRf extras/* $(EXTRASDIR)
535 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecere0
536 install -D -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
537 gzip -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
538 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-dev
539 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
540 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-extras
541 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
542 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-samples
543 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
544 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-sdk
545 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
546 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libec0
547 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
548 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecerecom0
549 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
550 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libeda0
551 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
552 mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libedasqlite0
553 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
559 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO)")
560 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO)")
561 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO)")
562 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO)")
563 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO)")
564 ifdef EDASQLiteCipher
565 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO)")
567 $(call rmq,"$(BINDIR)/ide$(E)")
568 $(call rmq,"$(BINDIR)/ear$(E)")
569 $(call rmq,"$(BINDIR)/ecc$(E)")
570 $(call rmq,"$(BINDIR)/ecp$(E)")
571 $(call rmq,"$(BINDIR)/ecs$(E)")
572 $(call rmq,"$(BINDIR)/epj2make$(E)")
573 $(call rmq,"$(BINDIR)/documentor$(E)")
575 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
577 $(call rmq,"$(SLIBDIR)/libecereVanilla$(A)")
578 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
579 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
580 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
581 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
583 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO).0")
584 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO).0")
585 $(call rmq,"$(LIBDIR)/$(LP)ec$(SO).0")
586 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO).0")
587 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO).0")
588 ifdef EDASQLiteCipher
589 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
591 $(call rmq,"$(LIBDIR)/$(LP)ecere$(SOV)")
592 $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SOV)")
593 $(call rmq,"$(LIBDIR)/$(LP)ec$(SOV)")
594 $(call rmq,"$(LIBDIR)/$(LP)EDA$(SOV)")
595 $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SOV)")
596 ifdef EDASQLiteCipher
597 $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
599 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
600 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
602 $(call rmdirq,"$(BINDIR)/")
603 $(call rmdirq,"$(LIBDIR)/")
604 $(call rmdirq,"$(SLIBDIR)/")
605 $(call rmdirq,"$(DOCDIR)/")
607 $(call rmdirq,"$(DESTDIR)/")
609 @$(call echo,The Ecere SDK has been uninstalled.)
612 @$(call echo,Printing values of some variables.)
613 @$(call echo,CCACHE=$(CCACHE))
614 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
615 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
616 @$(call echo,DISTCC=$(DISTCC))
617 @$(call echo,CC=$(CC))
618 @$(call echo,CPP=$(CPP))
619 @$(call echo,ECP=$(ECP))
620 @$(call echo,ECC=$(ECC))
621 @$(call echo,ECS=$(ECS))
622 @$(call echo,EAR=$(EAR))
623 @$(call echo,AS=$(AS))
624 @$(call echo,LD=$(LD))
625 @$(call echo,AR=$(AR))
626 @$(call echo,STRIP=$(STRIP))
627 @$(call echo,UPX=$(UPX))