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 cleantarget pots installer
6 include crossplatform.mk
17 XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
22 HOST_SOV := $(HOST_SO)
24 HOST_SOV := $(HOST_SO)$(LIBVER)
33 ifeq "$(TARGET_ARCH)" "x86_64"
34 ifneq "$(wildcard $(SystemDrive)/Program\ Files )" ""
35 export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
37 export DESTDIR=$(SystemDrive)/Ecere SDK
40 ifdef ProgramFiles(x86)
41 export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
44 export DESTDIR=$(ProgramFiles)/Ecere SDK
46 export DESTDIR=$(SystemDrive)/Ecere SDK
56 export DOCDIR=$(DESTDIR)$(prefix)/doc
60 export BINDIR=$(DESTDIR)$(prefix)/bin
64 export LIBDIR=$(BINDIR)
66 export DESTLIBDIR=$(LIBDIR)
69 export SLIBDIR=$(DESTDIR)$(prefix)/lib
71 export DESTSLIBDIR=$(SLIBDIR)
74 export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
78 export EXTRASDIR=$(DESTDIR)$(prefix)/extras
100 export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
104 export MANDIR=$(DESTDIR)$(prefix)/share/man/
108 export BINDIR=$(DESTDIR)$(prefix)/bin
112 export PREFIXLIBDIR=$(LIBDIR)
114 export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
116 ifeq "$(wildcard $(prefix)/lib/$(TARGET_ARCH) )" ""
117 export PREFIXLIBDIR=$(prefix)/lib
119 ifeq "$(TARGET_ARCH)" "i386-linux-gnu"
120 ifneq "$(wildcard $(prefix)/lib32 )" ""
121 export PREFIXLIBDIR=$(prefix)/lib32
129 CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(call escspace,$(PREFIXLIBDIR))\"
131 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
133 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
135 DESTSLIBDIR := $(DESTLIBDIR)
139 export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
143 export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
149 OBJDIR := obj$(OBJALT)/
150 OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
151 OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
152 XOBJDIR := obj$(OBJALT)/
153 XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
154 XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
156 all: prepbinaries ide epj2make documentor eda codeguard
157 @$(call echo,The Ecere SDK is fully built.)
160 $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
161 $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
162 $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
164 $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
165 $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
166 $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
169 bootstrap: outputdirs
170 cd compiler && $(MAKE) $(XBOOT) bootstrap
175 @$(call echo,Building dependencies (host)...)
176 cd deps && $(MAKE) $(XBOOT)
180 @$(call echo,Building dependencies...)
184 ecere: bootstrap deps
186 @$(call echo,Building 2nd stage ecere (host)...)
188 @$(call echo,Building 2nd stage ecere...)
190 cd ecere && $(MAKE) nores $(XBOOT)
191 cd ear && $(MAKE) nores $(XBOOT)
192 cd ecere && $(MAKE) cleaneceretarget
194 @$(call echo,Building 2nd stage ecere...)
200 @$(call echo,Building eC Core Runtime (host)...)
201 cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT)
203 @$(call echo,Building eC Core Runtime...)
204 cd ecere && $(MAKE) -f Makefile.ecereCOM
206 ecerevanilla: bootstrap
207 @$(call echo,Building Vanilla Ecere...)
208 cd ecere && $(MAKE) -f Makefile.vanilla
210 ear: ecere ecerevanilla
211 @$(call echo,Building ear...)
212 cd ear && cd cmd && $(MAKE) cleantarget
216 cd compiler && $(MAKE) fixprecompile
220 @$(call echo,Building 2nd stage compiler (host))
221 cd compiler && $(MAKE) $(XBOOT)
223 @$(call echo,Building 2nd stage compiler)
224 cd compiler && $(MAKE)
226 prepbinaries: compiler ecerecom
227 @$(call echo,Enabling 2nd stage binaries...)
229 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
230 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
231 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
234 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
235 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
236 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
237 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
238 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
239 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
240 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
241 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
242 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
244 ifndef WINDOWS_TARGET
246 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
247 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
248 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
251 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
252 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
253 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
254 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
259 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
260 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
261 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
264 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
265 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
266 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
267 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
268 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
269 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
270 ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO)
271 ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO)
272 ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO)
276 $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
277 $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
278 $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
281 $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
282 $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
283 $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
284 $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
288 epj2make: prepbinaries
289 @$(call echo,Building epj2make...)
290 cd epj2make && $(MAKE)
293 @$(call echo,Building IDE...)
296 documentor: prepbinaries
297 @$(call echo,Building Documentor...)
298 cd documentor && $(MAKE)
300 codeguard: prepcodeguard
302 @$(call echo,Building CodeGuard client...)
303 cd codeGuard && $(MAKE)
309 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
313 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
314 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
315 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
318 ifndef WINDOWS_TARGET
320 $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
326 @$(call echo,Building EDA...)
329 emptyoutput: outputdirs
330 $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
331 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
332 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
333 $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
334 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
335 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
336 ifdef EDASQLiteCipher
337 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
340 $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
341 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
342 $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
343 $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
344 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
345 ifdef EDASQLiteCipher
346 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
348 $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
349 $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
350 $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
351 $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
352 $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
353 ifdef EDASQLiteCipher
354 $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
357 $(call rmq,$(OBJBINDIR)ear$(E))
358 $(call rmq,$(OBJBINDIR)ecc$(E))
359 $(call rmq,$(OBJBINDIR)ecp$(E))
360 $(call rmq,$(OBJBINDIR)ecs$(E))
361 $(call rmq,$(OBJBINDIR)epj2make$(E))
362 $(call rmq,$(OBJBINDIR)ide$(E))
363 $(call rmq,$(OBJBINDIR)documentor$(E))
364 ifdef EDASQLiteCipher
365 $(call rmq,$(OBJBINDIR)CodeGuard$(E))
369 cd compiler && $(MAKE) cleantarget
370 cd documentor && $(MAKE) cleantarget
371 cd ear && $(MAKE) cleantarget
372 cd ecere && $(MAKE) cleantarget
373 cd eda && $(MAKE) cleantarget
374 cd epj2make && $(MAKE) cleantarget
375 cd ide && $(MAKE) cleantarget
376 cd installer && $(MAKE) cleantarget
380 cd installer && $(MAKE) OUTPUT_POT=1 pots
384 $(MAKE) prepinstall ARCH=
385 $(MAKE) prepinstall ARCH=x32
386 @$(call echo,Building Ecere runtime for installer...)
387 cd ecere && @$(MAKE) -f Makefile.installer ARCH=x32
388 @$(call echo,Building Installer for Windows...)
389 cd installer && @$(MAKE) ARCH=x32
390 @$(call echo,The Ecere SDK Windows Installer is fully built.)
395 cd deps && $(MAKE) clean
397 cd ecere && $(MAKE) clean
398 cd compiler && $(MAKE) clean
399 cd ear && $(MAKE) clean
400 cd epj2make && $(MAKE) clean
401 cd ide && $(MAKE) clean
402 cd documentor && $(MAKE) clean
404 cd codeGuard && $(MAKE) clean
406 cd eda && $(MAKE) clean
409 realclean: outputdirs
411 cd deps && $(MAKE) realclean
413 cd ecere && $(MAKE) realclean
414 cd compiler && $(MAKE) realclean
415 cd ear && $(MAKE) realclean
416 cd epj2make && $(MAKE) realclean
417 cd ide && $(MAKE) realclean
418 cd documentor && $(MAKE) realclean
420 cd codeGuard && $(MAKE) realclean
422 cd eda && $(MAKE) realclean
423 $(call rmrq,obj/$(PLATFORM)/)
426 distclean: outputdirs
428 cd deps && $(MAKE) distclean
430 cd ecere && $(MAKE) distclean
431 cd compiler && $(MAKE) distclean
432 cd ear && $(MAKE) distclean
433 cd epj2make && $(MAKE) distclean
434 cd ide && $(MAKE) distclean
435 cd documentor && $(MAKE) distclean
437 cd codeGuard && $(MAKE) distclean
439 cd eda && $(MAKE) distclean
443 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
446 ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
447 ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
448 ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
449 compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
450 compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
451 compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
452 compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
453 ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
454 epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
455 documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
456 ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
457 eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
458 eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
461 BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
464 ifdef EDASQLiteCipher
465 BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
468 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
469 # Shared Libraries (in $(OBJBINDIR) on Windows and $(OBJLIBDIR) otherwise)
470 # Symlinks for libs on Linux
471 # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR))
472 prepinstall: $(DOC) $(BINARIES) outputdirs
475 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
476 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
477 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
478 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
479 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
480 ifdef EDASQLiteCipher
481 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
486 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
487 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
488 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
489 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
490 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
491 ifdef EDASQLiteCipher
492 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
494 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
495 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
496 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
497 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
498 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO).0
499 ifdef EDASQLiteCipher
500 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
502 ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
503 ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
504 ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
505 ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
506 ln -sf $(LP)EDASQLite$(SOV) $(OBJLIBDIR)$(LP)EDASQLite$(SO)
507 ifdef EDASQLiteCipher
508 ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
512 ifndef WINDOWS_TARGET
514 $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
515 $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
516 $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
517 $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
518 $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
519 ifdef EDASQLiteCipher
520 $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
525 $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
526 $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
527 $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
528 $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
529 $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
530 $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
531 $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
533 $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
535 $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
538 install: prepinstall actualinstall
539 @$(call echo,The Ecere SDK has been installed.)
541 copyonlyinstall: actualinstall
542 @$(call echo,The Ecere SDK has been installed. copyonlyinstall.)
546 $(call mkdirq,"$(BINDIR)/")
547 $(call mkdirq,"$(DESTSLIBDIR)/")
548 $(call mkdirq,"$(DOCDIR)/")
549 $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
550 $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
551 $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
552 $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
553 $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
554 ifdef EDASQLiteCipher
555 $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
557 $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
558 $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
559 $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
560 $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
561 $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
562 $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
563 $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
565 $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
567 $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
568 $(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"
569 $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
570 $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
571 $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
575 install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/
576 install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/
577 install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/
578 install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/
579 install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/
580 ifdef EDASQLiteCipher
581 install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
583 install $(OBJBINDIR)ide$(E) $(BINDIR)/
584 install $(OBJBINDIR)ear$(E) $(BINDIR)/
585 install $(OBJBINDIR)ecc$(E) $(BINDIR)/
586 install $(OBJBINDIR)ecp$(E) $(BINDIR)/
587 install $(OBJBINDIR)ecs$(E) $(BINDIR)/
588 install $(OBJBINDIR)epj2make$(E) $(BINDIR)/
589 install $(OBJBINDIR)documentor$(E) $(BINDIR)/
591 install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/
593 install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
594 install -d $(DOCDIR)/
595 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"
596 install doc/ecere.eCdoc $(DOCDIR)/
597 install doc/ecereCOM.eCdoc $(DOCDIR)/
598 install doc/EDA.eCdoc $(DOCDIR)/
599 mkdir -p $(MANDIR)/man1
600 cp -pRf share/man/man1/* $(MANDIR)/man1
601 mkdir -p $(SAMPLESDIR)
602 cp -pRf samples/* $(SAMPLESDIR)
603 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
604 mkdir -p $(EXTRASDIR)
605 cp -pRf extras/* $(EXTRASDIR)
606 chmod 777 $(EXTRASDIR)/audio
610 ifndef WINDOWS_TARGET
612 mkdir -p $(DESTLIBDIR)/ec
613 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
614 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
615 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
616 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
617 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
618 ifdef EDASQLiteCipher
619 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
621 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
622 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
623 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
624 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
625 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
626 ifdef EDASQLiteCipher
627 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
629 ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
630 ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
631 ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
632 ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
633 ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
634 ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
635 ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
636 ifdef EDASQLiteCipher
637 ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
640 install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
641 install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
644 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
645 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
646 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
647 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
648 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
649 ifdef EDASQLiteCipher
650 install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
653 install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
654 install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
655 install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E)
656 install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E)
657 install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E)
658 install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E)
659 install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E)
661 install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E)
663 install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A)
665 install $(INSTALL_FLAGS) -d $(DOCDIR)
667 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
668 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"
669 install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
670 install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
671 install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
672 mkdir -p $(MANDIR)/man1
673 cp -pRf share/man/man1/* $(MANDIR)/man1
674 mkdir -p $(SAMPLESDIR)
675 cp -pRf samples/* $(SAMPLESDIR)
676 find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
677 mkdir -p $(EXTRASDIR)
678 cp $(CPFLAGS) extras/* $(EXTRASDIR)
679 chmod 777 $(EXTRASDIR)/audio
681 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
682 install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
683 gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
684 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev
685 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/
686 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
687 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
688 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
689 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
690 mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
691 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
692 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0
693 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/
694 mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
695 cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
696 mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0
697 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
698 mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
699 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
705 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
706 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
707 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
708 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
709 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
710 ifdef EDASQLiteCipher
711 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
713 $(call rmq,"$(BINDIR)/ide$(E)")
714 $(call rmq,"$(BINDIR)/ear$(E)")
715 $(call rmq,"$(BINDIR)/ecc$(E)")
716 $(call rmq,"$(BINDIR)/ecp$(E)")
717 $(call rmq,"$(BINDIR)/ecs$(E)")
718 $(call rmq,"$(BINDIR)/epj2make$(E)")
719 $(call rmq,"$(BINDIR)/documentor$(E)")
721 $(call rmq,"$(BINDIR)/CodeGuard$(E)")
723 $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
724 $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
725 $(call rmq,"$(DOCDIR)/ecere.eCdoc")
726 $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
727 $(call rmq,"$(DOCDIR)/EDA.eCdoc")
729 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
730 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
731 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
732 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
733 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
734 ifdef EDASQLiteCipher
735 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
737 $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
738 $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
739 $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
740 $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
741 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
742 ifdef EDASQLiteCipher
743 $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
745 $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
746 $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
748 $(call rmdirq,"$(BINDIR)/")
749 $(call rmdirq,"$(DESTLIBDIR)/")
750 $(call rmdirq,"$(DESTSLIBDIR)/")
751 $(call rmdirq,"$(DOCDIR)/")
753 $(call rmdirq,"$(DESTDIR)/")
755 @$(call echo,The Ecere SDK has been uninstalled.)
758 @$(call echo,Printing values of some variables.)
759 @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
760 @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
761 @$(call echo,PLATFORM=$(PLATFORM))
762 @$(call echo,LINUX_HOST=$(LINUX_HOST))
763 @$(call echo,LINUX_TARGET=$(LINUX_TARGET))
764 @$(call echo,OSX_HOST=$(OSX_HOST))
765 @$(call echo,OSX_TARGET=$(OSX_TARGET))
766 @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST))
767 @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET))
768 @$(call echo,BSD_HOST=$(BSD_HOST))
769 @$(call echo,BSD_TARGET=$(BSD_TARGET))
770 @$(call echo,CCACHE=$(CCACHE))
771 @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE))
772 @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX))
773 @$(call echo,DISTCC=$(DISTCC))
774 @$(call echo,GCC_PREFIX=$(GCC_PREFIX))
775 @$(call echo,CC=$(CC))
776 @$(call echo,CPP=$(CPP))
777 @$(call echo,ECP=$(ECP))
778 @$(call echo,ECC=$(ECC))
779 @$(call echo,ECS=$(ECS))
780 @$(call echo,EAR=$(EAR))
781 @$(call echo,AS=$(AS))
782 @$(call echo,LD=$(LD))
783 @$(call echo,AR=$(AR))
784 @$(call echo,STRIP=$(STRIP))
785 @$(call echo,UPX=$(UPX))
786 @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
787 @$(call echo,DESTDIR=$(DESTDIR))
788 @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
789 @$(call echo,ARCH=$(ARCH))
790 @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))
791 @$(call echo,GIT_REPOSITORY=$(GIT_REPOSITORY))
792 @$(call echo,DIR_VER=$(DIR_VER))
793 @$(call echo,REPOSITORY_VER=$(REPOSITORY_VER))