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 fixprecompile
8 include crossplatform.mk
17 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
20 HOST_SOV := $(HOST_SO)
22 HOST_SOV := $(HOST_SO)$(LIBVER)
28 export DOCDIR=$(DESTDIR)$(prefix)/doc
32 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
36 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
42 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
46 export MANDIR=$(DESTDIR)$(prefix)/share/man/
50 CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(call escspace,$(PREFIXLIBDIR))\"
53 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
57 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
60 endif # WINDOWS_TARGET
63 OBJDIR := obj$(OBJALT)/
64 OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
65 OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
66 XOBJDIR := obj$(OBJALT)/
67 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
68 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
70 all: prepbinaries ide epj2make documentor eda codeguard
71 @$(call echo,The Ecere SDK is fully built.)
74 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
75 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
76 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
78 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
79 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
80 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
84 cd compiler && $(MAKE) $(XBOOT) bootstrap
89 @$(call echo,Building dependencies (host)...)
90 cd deps && $(MAKE) $(XBOOT)
94 @$(call echo,Building dependencies...)
100 @$(call echo,Building 2nd stage ecere (host)...)
102 @$(call echo,Building 2nd stage ecere...)
104 cd ecere && $(MAKE) nores $(XBOOT)
105 cd ear && $(MAKE) nores $(XBOOT)
106 cd ecere && $(MAKE) cleaneceretarget
108 @$(call echo,Building 2nd stage ecere...)
114 @$(call echo,Building eC Core Runtime (host)...)
115 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
117 @$(call echo,Building eC Core Runtime...)
118 cd ecere && $(MAKE) -f Makefile.ecereCOM
120 ecerevanilla: bootstrap
121 @$(call echo,Building Vanilla Ecere...)
122 cd ecere && $(MAKE) -f Makefile.vanilla
124 ear: ecere ecerevanilla
125 @$(call echo,Building ear...)
126 cd ear && cd cmd && $(MAKE) cleantarget
130 cd compiler && $(MAKE) fixprecompile
134 @$(call echo,Building 2nd stage compiler (host))
135 cd compiler && $(MAKE) $(XBOOT)
137 @$(call echo,Building 2nd stage compiler)
138 cd compiler && $(MAKE)
140 prepbinaries: compiler ecerecom
141 @$(call echo,Enabling 2nd stage binaries...)
143 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
144 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
145 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
148 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
149 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
150 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
151 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
152 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
153 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
154 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
155 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
156 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
158 ifndef WINDOWS_TARGET
160 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
161 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
162 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
165 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
166 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
167 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
168 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
173 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
174 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
175 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
178 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
179 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
180 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
181 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
182 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
183 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
184 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
185 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
186 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
190 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
191 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
192 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
195 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
196 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
197 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
198 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
202 epj2make: prepbinaries
203 @$(call echo,Building epj2make...)
204 cd epj2make && $(MAKE)
207 @$(call echo,Building IDE...)
210 documentor: prepbinaries
211 @$(call echo,Building Documentor...)
212 cd documentor && $(MAKE)
214 codeguard: prepcodeguard
216 @$(call echo,Building CodeGuard client...)
217 cd codeGuard && $(MAKE)
223 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
227 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
228 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
229 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
232 ifndef WINDOWS_TARGET
234 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
240 @$(call echo,Building EDA...)
243 emptyoutput: outputdirs
244 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
245 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
246 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
247 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
248 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
249 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
250 ifdef EDASQLiteCipher
251 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
254 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
255 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
256 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
257 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
258 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
259 ifdef EDASQLiteCipher
260 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
262 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
263 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
264 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
265 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
266 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
267 ifdef EDASQLiteCipher
268 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
271 $(call rmq,$(OBJBINDIR)ear$(E))
272 $(call rmq,$(OBJBINDIR)ecc$(E))
273 $(call rmq,$(OBJBINDIR)ecp$(E))
274 $(call rmq,$(OBJBINDIR)ecs$(E))
275 $(call rmq,$(OBJBINDIR)epj2make$(E))
276 $(call rmq,$(OBJBINDIR)ide$(E))
277 $(call rmq,$(OBJBINDIR)documentor$(E))
278 ifdef EDASQLiteCipher
279 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
284 cd deps && $(MAKE) clean
286 cd ecere && $(MAKE) clean
287 cd compiler && $(MAKE) clean
288 cd ear && $(MAKE) clean
289 cd epj2make && $(MAKE) clean
290 cd ide && $(MAKE) clean
291 cd documentor && $(MAKE) clean
293 cd codeGuard && $(MAKE) clean
295 cd eda && $(MAKE) clean
298 realclean: outputdirs
300 cd deps && $(MAKE) realclean
302 cd ecere && $(MAKE) realclean
303 cd compiler && $(MAKE) realclean
304 cd ear && $(MAKE) realclean
305 cd epj2make && $(MAKE) realclean
306 cd ide && $(MAKE) realclean
307 cd documentor && $(MAKE) realclean
309 cd codeGuard && $(MAKE) realclean
311 cd eda && $(MAKE) realclean
312 $(call rmrq,obj/$(PLATFORM)/)
315 distclean: outputdirs
317 cd deps && $(MAKE) distclean
319 cd ecere && $(MAKE) distclean
320 cd compiler && $(MAKE) distclean
321 cd ear && $(MAKE) distclean
322 cd epj2make && $(MAKE) distclean
323 cd ide && $(MAKE) distclean
324 cd documentor && $(MAKE) distclean
326 cd codeGuard && $(MAKE) distclean
328 cd eda && $(MAKE) distclean
332 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
335 ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
336 ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
337 ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
338 compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
339 compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
340 compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
341 compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
342 ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
343 epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
344 documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
345 ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
346 eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
347 eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
350 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
353 ifdef EDASQLiteCipher
354 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
357 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
358 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
359 # Symlinks for libs on Linux
360 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
361 prepinstall: $(DOC) $(BINARIES) outputdirs
364 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
365 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
366 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
367 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
368 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
369 ifdef EDASQLiteCipher
370 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
375 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
376 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
377 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
378 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
379 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
380 ifdef EDASQLiteCipher
381 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
383 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
384 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
385 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
386 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
387 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
388 ifdef EDASQLiteCipher
389 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
391 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
392 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
393 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
394 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
395 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
396 ifdef EDASQLiteCipher
397 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
401 ifndef WINDOWS_TARGET
403 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
404 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
405 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
406 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
407 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
408 ifdef EDASQLiteCipher
409 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
414 $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
415 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
416 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
417 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
418 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
419 $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
420 $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
422 $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
424 $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
427 install: prepinstall actualinstall
428 @$(call echo,The Ecere SDK has been installed.)
430 copyonlyinstall: actualinstall
431 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
435 $(call mkdirq,"$(BINDIR)/")
436 $(call mkdirq,"$(DESTSLIBDIR)/")
437 $(call mkdirq,"$(DOCDIR)/")
438 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
439 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
440 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
441 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
442 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
443 ifdef EDASQLiteCipher
444 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
446 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
447 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
448 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
449 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
450 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
451 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
452 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
454 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
456 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
457 $(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"
458 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
459 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
460 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
464 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
465 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
466 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
467 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
468 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
469 ifdef EDASQLiteCipher
470 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
472 install $(OBJBINDIR)ide$(E) $(BINDIR)/
473 install $(OBJBINDIR)ear$(E) $(BINDIR)/
474 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
475 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
476 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
477 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
478 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
480 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
482 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
483 install -d $(DOCDIR)/
484 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"
485 install doc/ecere.eCdoc $(DOCDIR)/
486 install doc/ecereCOM.eCdoc $(DOCDIR)/
487 install doc/EDA.eCdoc $(DOCDIR)/
488 mkdir -p $(MANDIR)/man1
489 cp -pRf share/man/man1/* $(MANDIR)/man1
490 mkdir -p $(SAMPLESDIR)
491 cp -pRf samples/* $(SAMPLESDIR)
492 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
493 mkdir -p $(EXTRASDIR)
494 cp -pRf extras/* $(EXTRASDIR)
495 chmod 777 $(EXTRASDIR)/audio
499 ifndef WINDOWS_TARGET
501 mkdir -p $(DESTLIBDIR)/ec
502 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
503 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
504 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
505 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
506 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
507 ifdef EDASQLiteCipher
508 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
510 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
511 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
512 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
513 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
514 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
515 ifdef EDASQLiteCipher
516 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
518 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
519 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
520 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
521 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
522 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
523 ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
524 ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
525 ifdef EDASQLiteCipher
526 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
529 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
530 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
533 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
534 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
535 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
536 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
537 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
538 ifdef EDASQLiteCipher
539 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
542 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
543 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
544 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
545 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
546 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
547 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
548 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
550 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
552 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
554 install $(INSTALL_FLAGS) -d $(DOCDIR)
556 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
557 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"
558 install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
559 install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
560 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
561 mkdir -p $(MANDIR)/man1
562 cp -pRf share/man/man1/* $(MANDIR)/man1
563 mkdir -p $(SAMPLESDIR)
564 cp -pRf samples/* $(SAMPLESDIR)
565 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
566 mkdir -p $(EXTRASDIR)
567 cp $(CPFLAGS) extras/* $(EXTRASDIR)
568 chmod 777 $(EXTRASDIR)/audio
570 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
571 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
572 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
573 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
574 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
575 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
576 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
577 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
578 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
579 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
580 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
581 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
582 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
583 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
584 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
585 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
586 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
587 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
588 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
594 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
595 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
596 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
597 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
598 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
599 ifdef EDASQLiteCipher
600 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
602 $(call rmq,"$(BINDIR)/ide$(E)")
603 $(call rmq,"$(BINDIR)/ear$(E)")
604 $(call rmq,"$(BINDIR)/ecc$(E)")
605 $(call rmq,"$(BINDIR)/ecp$(E)")
606 $(call rmq,"$(BINDIR)/ecs$(E)")
607 $(call rmq,"$(BINDIR)/epj2make$(E)")
608 $(call rmq,"$(BINDIR)/documentor$(E)")
610 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
612 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
613 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
614 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
615 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
616 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
618 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
619 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
620 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
621 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
622 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
623 ifdef EDASQLiteCipher
624 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
626 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
627 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
628 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
629 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
630 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
631 ifdef EDASQLiteCipher
632 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
634 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
635 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
637 $(call rmdirq,"$(BINDIR)/")
638 $(call rmdirq,"$(DESTLIBDIR)/")
639 $(call rmdirq,"$(DESTSLIBDIR)/")
640 $(call rmdirq,"$(DOCDIR)/")
642 $(call rmdirq,"$(DESTDIR)/")
644 @$(call echo,The Ecere SDK has been uninstalled.)
647 @$(call echo,Printing values of some variables.)
648 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
649 @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
650 @$(call echo,PLATFORM=$(PLATFORM))
651 @$(call echo,LINUX_HOST=$(LINUX_HOST))
652 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
653 @$(call echo,OSX_HOST=$(OSX_HOST))
654 @$(call echo,OSX_TARGET=$(OSX_TARGET))
655 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
656 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
657 @$(call echo,BSD_HOST=$(BSD_HOST))
658 @$(call echo,BSD_TARGET=$(BSD_TARGET))
659 @$(call echo,CCACHE=$(CCACHE))
660 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
661 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
662 @$(call echo,DISTCC=$(DISTCC))
663 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
664 @$(call echo,CC=$(CC))
665 @$(call echo,CPP=$(CPP))
666 @$(call echo,ECP=$(ECP))
667 @$(call echo,ECC=$(ECC))
668 @$(call echo,ECS=$(ECS))
669 @$(call echo,EAR=$(EAR))
670 @$(call echo,AS=$(AS))
671 @$(call echo,LD=$(LD))
672 @$(call echo,AR=$(AR))
673 @$(call echo,STRIP=$(STRIP))
674 @$(call echo,UPX=$(UPX))
675 @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
676 @$(call echo,DESTDIR=$(DESTDIR))
677 @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
678 @$(call echo,ARCH=$(ARCH))
679 @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))