From dcb02bfff820ed0d18ec6122179a4507ce7695ae Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Thu, 7 Dec 2023 20:13:10 -0500 Subject: [PATCH] ecere; eda; extras/testing: Automated static builds --- .onedev-buildspec.yml | 79 +- Makefile | 85 +- deps/libffi-3.4.4/ffi.epj | 9 + .../x86_64-pc-linux-gnu/fficonfig.h | 227 ++ .../x86_64-pc-linux-gnu/include/ffi.h | 531 ++++ .../x86_64-pc-linux-gnu/include/ffitarget.h | 164 ++ ecere/Makefile.static | 2133 +++++++++++++++++ ecere/ecere.epj | 7 + eda/Makefile | 25 + eda/drivers/dbase/EDAdBASE.epj | 1 + eda/drivers/sqlite/Makefile.static | 269 +++ eda/libeda/Makefile.static | 295 +++ extras/testing/testingFramework.ec | 9 +- 13 files changed, 3801 insertions(+), 33 deletions(-) create mode 100644 deps/libffi-3.4.4/x86_64-pc-linux-gnu/fficonfig.h create mode 100644 deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffi.h create mode 100644 deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffitarget.h create mode 100644 ecere/Makefile.static create mode 100644 eda/drivers/sqlite/Makefile.static create mode 100644 eda/libeda/Makefile.static diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml index 8d53abb79e..5669426888 100644 --- a/.onedev-buildspec.yml +++ b/.onedev-buildspec.yml @@ -61,36 +61,42 @@ jobs: - apt -y install git - apt -y install python3-pip - pip3 install cffi - - make -j2 && mkdir output && make install DESTDIR=output && rm /usr/bin/gcc - && rm /usr/bin/g++ && ln -s /usr/bin/gcc-8 /usr/bin/gcc && ln -s /usr/bin/g++-8 - /usr/bin/g++ && make bindings && rm /usr/bin/gcc && rm /usr/bin/g++ && ln - -s /usr/bin/gcc-7 /usr/bin/gcc && ln -s /usr/bin/g++-7 /usr/bin/g++ && apt - -y install libgif-dev:i386 && make ARCH=x32 -j2 && make ARCH=x32 install DESTDIR=output - && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-extras-butterbur-src.tar.gz - extras butterbur/src compiler/eccss ecere/src ide/src/designer/SyntaxHighlighting.ec - ide/src/designer/SyntaxColorScheme.ec ide/res/actions default.cf crossplatform.mk - && cd output && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-output-linux.tar.gz - * && cd .. && cd obj && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-linux-x86_64.tar.gz + - make -j2 && mkdir output && make install DESTDIR=output && + rm /usr/bin/gcc && rm /usr/bin/g++ && ln -s /usr/bin/gcc-8 /usr/bin/gcc && ln -s /usr/bin/g++-8 /usr/bin/g++ && + make bindings && + rm /usr/bin/gcc && rm /usr/bin/g++ && ln -s /usr/bin/gcc-7 /usr/bin/gcc && ln -s /usr/bin/g++-7 /usr/bin/g++ && + apt -y install libgif-dev:i386 && + make ARCH=x32 -j2 && make ARCH=x32 install DESTDIR=output && + tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-extras-butterbur-src.tar.gz + extras butterbur/src compiler/eccss ecere/src ide/src/designer/SyntaxHighlighting.ec ide/src/designer/SyntaxColorScheme.ec + ide/res/actions default.cf crossplatform.mk && + cd output && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-output-linux.tar.gz * && + cd .. && cd obj && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-linux-x86_64.tar.gz linux && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-linux-i686.tar.gz - linux.x32 && cd .. && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-bindings-linux-x86_64.tar.gz - bindings && wget https://ecere.com/tmp/win32-patches.tar.gz && tar xf win32-patches.tar.gz - && ln -s $(pwd)/win32/regex/regex.h /usr/x86_64-w64-mingw32/include/ && ln - -s $(pwd)/win32/regex/gnurx-0.dll /usr/x86_64-w64-mingw32/lib/ && ln -s $(pwd)/win32/regex/regex.h - /usr/i686-w64-mingw32/include/ && ln -s $(pwd)/win32/regex-x32/libgnurx-0.dll - /usr/i686-w64-mingw32/lib/ && apt -y install libgif-dev && make PLATFORM=win32 - OPENSSL_CONF=$(pwd)/win32/openssl/bin/openssl.cfg && mkdir output-win32 && - make PLATFORM=win32 OPENSSL_CONF=$(pwd)/win32/openssl/bin/openssl.cfg DESTDIR=output-win32 - install && cd output-win32 && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-output-windows-x86_64.tar.gz - * && cd .. && apt -y install libgif-dev:i386 && make PLATFORM=win32 ARCH=x32 - OPENSSL_CONF=$(pwd)/win32/openssl-x32/bin/openssl.cfg && mkdir output-win32-x32 - && make PLATFORM=win32 ARCH=x32 OPENSSL_CONF=$(pwd)/win32/openssl-x32/bin/openssl.cfg - DESTDIR=output-win32-x32 install && cd output-win32-x32 && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-output-windows-i686.tar.gz - * && cd .. && make PLATFORM=win32 ARCH=x32 OPENSSL_CONF=$(pwd)/win32/openssl-x32/bin/openssl.cfg - installer && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-deps.tar.gz - deps && cd obj && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-windows-x86_64.tar.gz - win32 && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-windows-i686.tar.gz - win32.x32 && cd .. && cp installer/obj/release.win32.x32/setup-ecere-0.44.16pre-win32.exe - @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-setup-ecere-0.44.16pre-win32.exe + linux.x32 && cd .. && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-bindings-linux-x86_64.tar.gz bindings && + wget https://ecere.com/tmp/win32-patches.tar.gz && tar xf win32-patches.tar.gz && + ln -s $(pwd)/win32/regex/regex.h /usr/x86_64-w64-mingw32/include/ && + ln -s $(pwd)/win32/regex/gnurx-0.dll /usr/x86_64-w64-mingw32/lib/ && + ln -s $(pwd)/win32/regex/regex.h /usr/i686-w64-mingw32/include/ && + ln -s $(pwd)/win32/regex-x32/libgnurx-0.dll /usr/i686-w64-mingw32/lib/ && + tar xf OpenSSL-win32/OpenSSL-win32*.tar.gz -C $(pwd)/win32 && + tar xf curl-win32/curl*windows-x86_64.tar.gz -C $(pwd)/deps && + tar xf curl-win32/curl*windows-i686.tar.gz -C $(pwd)/deps && + apt -y install libgif-dev && + make PLATFORM=win32 OPENSSL_CONF=$(pwd)/win32/openssl/bin/openssl.cfg && + mkdir output-win32 && + make PLATFORM=win32 OPENSSL_CONF=$(pwd)/win32/openssl/bin/openssl.cfg DESTDIR=output-win32 install && + cd output-win32 && + tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-output-windows-x86_64.tar.gz * && + cd .. && apt -y install libgif-dev:i386 && make PLATFORM=win32 ARCH=x32 + OPENSSL_CONF=$(pwd)/win32/openssl-x32/bin/openssl.cfg && mkdir output-win32-x32 && + make PLATFORM=win32 ARCH=x32 OPENSSL_CONF=$(pwd)/win32/openssl-x32/bin/openssl.cfg DESTDIR=output-win32-x32 install && + cd output-win32-x32 && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-output-windows-i686.tar.gz * && + cd .. && make PLATFORM=win32 ARCH=x32 OPENSSL_CONF=$(pwd)/win32/openssl-x32/bin/openssl.cfg installer && + tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-deps.tar.gz deps && + cd obj && tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-windows-x86_64.tar.gz win32 && + tar czf @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-binaries-windows-i686.tar.gz win32.x32 && + cd .. && cp installer/obj/release.win32.x32/setup-ecere-0.44.16pre-win32.exe @project_name@-@tag@-@branch@-@commit_hash@-@build_number@-setup-ecere-0.44.16pre-win32.exe useTTY: true condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - !PublishArtifactStep @@ -153,6 +159,21 @@ jobs: projects: ecere-sdk - !BranchUpdateTrigger projects: ecere-sdk + projectDependencies: + - projectPath: OpenSSL-win32 + buildProvider: !LastFinishedBuild + jobName: Build + refName: refs/heads/master + artifacts: '**' + accessTokenSecret: ssl-access + destinationPath: OpenSSL-win32 + - projectPath: curl + buildProvider: !LastFinishedBuild + jobName: Build + refName: refs/heads/7.51 + artifacts: '**' + accessTokenSecret: ssl-access + destinationPath: curl-win32 retryCondition: never maxRetries: 3 retryDelay: 30 diff --git a/Makefile b/Makefile index f89af26f04..35525dc0c4 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ ifneq ($(V),1) .SILENT: endif -.PHONY: all clean realclean wipeclean distclean emptyoutput prepinstall actualinstall install copyonlyinstall uninstall troubleshoot outputdirs bootstrap deps ecere ecerecom ecerevanilla ear compiler prepbinaries epj2make libec2 bgen ide documentor eda prepcodeguard codeguard fixprecompile cleantarget pots installer regenbootstrap updatebootstrap update_ecere update_libec update_ecp update_ecc update_ecs ecereaudio +.PHONY: all clean realclean wipeclean distclean emptyoutput prepinstall actualinstall install copyonlyinstall uninstall troubleshoot outputdirs bootstrap deps ecere ecerecom ecerevanilla ecerestatic ear compiler prepbinaries epj2make libec2 bgen ide documentor eda prepcodeguard codeguard fixprecompile cleantarget pots installer regenbootstrap updatebootstrap update_ecere update_libec update_ecp update_ecc update_ecs ecereaudio ROOT_ABSPATH := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) _CF_DIR = $(ROOT_ABSPATH) @@ -45,6 +45,15 @@ ifndef DISABLE_EDA_dBASE EDAdBASE := defined endif +ifndef DISABLE_EDA_STATIC + EDA_STATIC := defined +endif + +ifndef DISABLE_ECERE_STATIC + ECERE_STATIC := defined +endif + + ifdef WINDOWS_HOST HOST_SOV := $(HOST_SO) else @@ -259,6 +268,10 @@ ecerevanilla: bootstrap @$(call echo,Building Vanilla Ecere...) +cd ecere && $(_MAKE) -f Makefile.vanilla +ecerestatic: bootstrap + @$(call echo,Building Static Ecere...) + +cd ecere && $(_MAKE) -f Makefile.static + ear: ecere ecerevanilla @$(call echo,Building ear...) +cd ear && cd cmd && $(_MAKE) cleantarget @@ -275,7 +288,7 @@ endif @$(call echo,Building 2nd stage compiler) +cd compiler && $(_MAKE) -prepbinaries: compiler libec2 ecerecom +prepbinaries: compiler libec2 ecerecom ecerestatic @$(call echo,Enabling 2nd stage binaries...) ifdef WINDOWS_TARGET $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR)) @@ -412,15 +425,24 @@ endif emptyoutput: outputdirs $(call rm,$(OBJLIBDIR)libecereVanilla$(A)) +ifdef ECERE_STATIC + $(call rm,$(OBJLIBDIR)libecereStatic$(A)) +endif $(call rm,$(SODESTDIR)$(LP)ecere$(SO)) $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SO)) $(call rm,$(SODESTDIR)$(LP)ec$(SO)) $(call rm,$(SODESTDIR)$(LP)EDA$(SO)) +ifdef EDA_STATIC + $(call rm,$(OBJLIBDIR)libEDAStatic$(A)) +endif ifdef EDAdBASE $(call rm,$(SODESTDIR)$(LP)EDAdBASE$(SO)) endif ifdef EDASQLite $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SO)) +ifdef EDA_STATIC + $(call rm,$(OBJLIBDIR)libEDASQLiteStatic$(A)) +endif endif ifdef EDASQLiteCipher $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO)) @@ -586,12 +608,25 @@ BINARIES = \ bgen/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bgen$(B32_SFX)$(E) \ eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) +ifdef ECERE_STATIC +BINARIES += \ + ecere/obj/static.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereStatic$(A) +endif + +ifdef EDA_STATIC +BINARIES += \ + eda/libeda/obj/static.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libEDAStatic$(A) +endif ifdef EDAdBASE BINARIES += eda/drivers/dbase/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDAdBASE$(SOV) endif ifdef EDASQLite BINARIES += \ eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV) +ifdef EDA_STATIC +BINARIES += \ + eda/drivers/sqlite/obj/static.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libEDASQLiteStatic$(A) +endif endif ifndef ECERE_PYTHON_PACKAGE @@ -713,11 +748,17 @@ ifndef LINUX_TARGET $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR)) $(call cp,compiler/libec2/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec2$(SO),$(OBJLIBDIR)) $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR)) +ifdef EDA_STATIC + $(call cp,eda/libeda/obj/static.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libEDAStatic$(A),$(OBJLIBDIR)) +endif ifdef EDAdBASE $(call cp,eda/drivers/dbase/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDAdBASE$(SO),$(OBJLIBDIR)) endif ifdef EDASQLite $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR)) +ifdef EDA_STATIC + $(call cp,eda/drivers/sqlite/obj/static.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libEDASQLiteStatic$(A),$(OBJLIBDIR)) +endif endif ifneq ($(ECERE_AUDIO),n) $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJLIBDIR)) @@ -742,6 +783,9 @@ ifdef CodeGuard $(call cp,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR)) endif $(call cp,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR)) +ifdef ECERE_STATIC + $(call cp,ecere/obj/static.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereStatic$(A),$(OBJLIBDIR)) +endif .PHONY: prepinstall32 prepinstall32: @@ -776,11 +820,17 @@ ifdef WINDOWS_TARGET $(call cp,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/") $(call cp,$(OBJBINDIR)$(LP)ec2$(SO),"$(DESTLIBDIR)/") $(call cp,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/") +ifdef EDA_STATIC + $(call cp,$(OBJLIBDIR)libEDAStatic$(A),"$(DESTSLIBDIR)/") +endif ifdef EDAdBASE $(call cp,$(OBJBINDIR)$(LP)EDAdBASE$(SO),"$(DESTLIBDIR)/") endif ifdef EDASQLite $(call cp,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/") +ifdef EDA_STATIC + $(call cp,$(OBJLIBDIR)libEDASQLiteStatic$(A),"$(DESTSLIBDIR)/") +endif endif ifdef EDASQLiteCipher $(call cp,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/") @@ -801,6 +851,9 @@ ifdef CodeGuard $(call cp,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/") endif $(call cp,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/") +ifdef ECERE_STATIC + $(call cp,$(OBJLIBDIR)libecereStatic$(A),"$(DESTSLIBDIR)/") +endif $(call cp,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" $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM") $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere") @@ -813,11 +866,17 @@ ifdef OSX_TARGET install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/ install $(OBJLIBDIR)$(LP)ec2$(SO) $(DESTLIBDIR)/ install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/ +ifdef EDA_STATIC + install $(OBJLIBDIR)libEDAStatic$(A) $(DESTSLIBDIR)/ +endif ifdef EDAdBASE install $(OBJLIBDIR)$(LP)EDAdBASE$(SO) $(DESTLIBDIR)/ endif ifdef EDASQLite install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/ +ifdef EDA_STATIC + install $(OBJLIBDIR)libEDASQLiteStatic$(A) $(DESTSLIBDIR)/ +endif endif ifdef EDASQLiteCipher install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/ @@ -837,6 +896,9 @@ ifdef CodeGuard install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/ endif install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/ +ifdef ECERE_STATIC + install $(OBJLIBDIR)libecereStatic$(A) $(DESTSLIBDIR)/ +endif install -d $(DOCDIR)/ 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" $(call cpr,$(DOC)/ecereCOM,"$(DOCDIR)/ecereCOM") @@ -862,11 +924,17 @@ ifdef LINUX_TARGET install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV) install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec2$(SOV) $(DESTLIBDIR)/ec/$(LP)ec2$(SOV) install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV) +ifdef EDA_STATIC + install $(INSTALL_FLAGS) $(OBJLIBDIR)libEDAStatic$(A) $(DESTSLIBDIR)/ec/libEDAStatic$(A) +endif ifdef EDAdBASE install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDAdBASE$(SOV) $(DESTLIBDIR)/ec/$(LP)EDAdBASE$(SOV) endif ifdef EDASQLite install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV) +ifdef EDA_STATIC + install $(INSTALL_FLAGS) $(OBJLIBDIR)libEDASQLiteStatic$(A) $(DESTSLIBDIR)/ec/libEDASQLiteStatic$(A) +endif endif ifdef EDASQLiteCipher install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV) @@ -933,13 +1001,15 @@ endif install $(INSTALL_FLAGS) $(OBJBINDIR)bgen$(B32_SFX)$(E) $(BINDIR)/bgen$(B32_SFX)$(E) install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(B32_SFX)$(E) $(BINDIR)/documentor$(B32_SFX)$(E) install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A) +ifdef ECERE_STATIC + install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereStatic$(A) $(DESTSLIBDIR)/libecereStatic$(A) +endif ifndef SKIP_ADDITIONAL_FILES ifndef BSD_HOST install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop endif endif - install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A) ifdef BSD_HOST install $(INSTALL_FLAGS) -d $(DOCDIR) endif @@ -991,6 +1061,9 @@ uninstall: $(call rm,"$(DESTLIBDIR)/$(LP)ec$(SO)") $(call rm,"$(DESTLIBDIR)/$(LP)ec2$(SO)") $(call rm,"$(DESTLIBDIR)/$(LP)EDA$(SO)") +ifdef EDA_STATIC + $(call rm,"$(DESTSLIBDIR)/libEDAStatic$(A)") +endif ifdef LINUX_TARGET ifdef EDAdBASE $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDAdBASE$(SO)") @@ -1010,6 +1083,9 @@ ifdef EDAdBASE endif ifdef EDASQLite $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)") +ifdef EDA_STATIC + $(call rm,"$(DESTSLIBDIR)/libEDASQLiteStatic$(A)") +endif endif ifdef EDASQLiteCipher $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)") @@ -1028,6 +1104,9 @@ endif $(call rm,"$(BINDIR)/documentor$(B32_SFX)$(E)") ifdef CodeGuard $(call rm,"$(BINDIR)/CodeGuard$(E)") +endif +ifdef ECERE_STATIC + $(call rm,"$(DESTSLIBDIR)/libecereStatic$(A)") endif $(call rm,"$(DESTSLIBDIR)/libecereVanilla$(A)") $(call rm,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf") diff --git a/deps/libffi-3.4.4/ffi.epj b/deps/libffi-3.4.4/ffi.epj index d1de578ab2..fe608a2b5e 100644 --- a/deps/libffi-3.4.4/ffi.epj +++ b/deps/libffi-3.4.4/ffi.epj @@ -18,6 +18,15 @@ "i686-w64-mingw32" ] } + }, + { + "Name" : "linux", + "Options" : { + "IncludeDirs" : [ + "x86_64-pc-linux-gnu", + "x86_64-pc-linux-gnu/include" + ] + } } ], "Configurations" : [ diff --git a/deps/libffi-3.4.4/x86_64-pc-linux-gnu/fficonfig.h b/deps/libffi-3.4.4/x86_64-pc-linux-gnu/fficonfig.h new file mode 100644 index 0000000000..e1e01a8a09 --- /dev/null +++ b/deps/libffi-3.4.4/x86_64-pc-linux-gnu/fficonfig.h @@ -0,0 +1,227 @@ +/* fficonfig.h. Generated from fficonfig.h.in by configure. */ +/* fficonfig.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if using 'alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define to the flags needed for the .section .eh_frame directive. */ +#define EH_FRAME_FLAGS "a" + +/* Define this if you want extra debugging. */ +/* #undef FFI_DEBUG */ + +/* Define this if you want statically defined trampolines */ +#define FFI_EXEC_STATIC_TRAMP 1 + +/* Cannot use PROT_EXEC on this target, so, we revert to alternative means */ +/* #undef FFI_EXEC_TRAMPOLINE_TABLE */ + +/* Define this if you want to enable pax emulated trampolines (experimental) + */ +/* #undef FFI_MMAP_EXEC_EMUTRAMP_PAX */ + +/* Cannot use malloc on this target, so, we revert to alternative means */ +/* #undef FFI_MMAP_EXEC_WRIT */ + +/* Define this if you do not want support for the raw API. */ +/* #undef FFI_NO_RAW_API */ + +/* Define this if you do not want support for aggregate types. */ +/* #undef FFI_NO_STRUCTS */ + +/* Define to 1 if you have 'alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if works. */ +#define HAVE_ALLOCA_H 1 + +/* Define if your assembler supports .cfi_* directives. */ +#define HAVE_AS_CFI_PSEUDO_OP 1 + +/* Define if your assembler supports .register. */ +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ + +/* Define if the compiler uses zarch features. */ +/* #undef HAVE_AS_S390_ZARCH */ + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +/* #undef HAVE_AS_SPARC_UA_PCREL */ + +/* Define if your assembler supports unwind section type. */ +#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1 + +/* Define if your assembler supports PC relative relocs. */ +#define HAVE_AS_X86_PCREL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if __attribute__((visibility("hidden"))) is supported. */ +#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have the long double type and it is bigger than a double */ +#define HAVE_LONG_DOUBLE 1 + +/* Define if you support more than one size of the long double type */ +/* #undef HAVE_LONG_DOUBLE_VARIANT */ + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memfd_create' function. */ +#define HAVE_MEMFD_CREATE 1 + +/* Define to 1 if you have the `mkostemp' function. */ +#define HAVE_MKOSTEMP 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#define HAVE_MMAP_ANON 1 + +/* Define if mmap of /dev/zero works. */ +#define HAVE_MMAP_DEV_ZERO 1 + +/* Define if read-only mmap of a plain file works. */ +#define HAVE_MMAP_FILE 1 + +/* Define if your compiler supports pointer authentication. */ +/* #undef HAVE_PTRAUTH */ + +/* Define if .eh_frame sections should be read-only. */ +#define HAVE_RO_EH_FRAME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MEMFD_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libatomic. */ +#define LIBFFI_GNU_SYMBOL_VERSIONING 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libffi" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://github.com/libffi/libffi/issues" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libffi" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libffi 3.4.4" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libffi" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "3.4.4" + +/* The size of `double', as computed by sizeof. */ +#define SIZEOF_DOUBLE 8 + +/* The size of `long double', as computed by sizeof. */ +#define SIZEOF_LONG_DOUBLE 16 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Define if symbols are underscored. */ +/* #undef SYMBOL_UNDERSCORE */ + +/* Define this if you are using Purify and want to suppress spurious messages. + */ +/* #undef USING_PURIFY */ + +/* Version number of package */ +#define VERSION "3.4.4" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + + +#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE +#ifdef LIBFFI_ASM +#ifdef __APPLE__ +#define FFI_HIDDEN(name) .private_extern name +#else +#define FFI_HIDDEN(name) .hidden name +#endif +#else +#define FFI_HIDDEN __attribute__ ((visibility ("hidden"))) +#endif +#else +#ifdef LIBFFI_ASM +#define FFI_HIDDEN(name) +#else +#define FFI_HIDDEN +#endif +#endif + diff --git a/deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffi.h b/deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffi.h new file mode 100644 index 0000000000..e8c8600fb5 --- /dev/null +++ b/deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffi.h @@ -0,0 +1,531 @@ +/* -----------------------------------------------------------------*-C-*- + libffi 3.4.4 + - Copyright (c) 2011, 2014, 2019, 2021, 2022 Anthony Green + - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the ``Software''), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + ----------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------- + Most of the API is documented in doc/libffi.texi. + + The raw API is designed to bypass some of the argument packing and + unpacking on architectures for which it can be avoided. Routines + are provided to emulate the raw API if the underlying platform + doesn't allow faster implementation. + + More details on the raw API can be found in: + + http://gcc.gnu.org/ml/java/1999-q3/msg00138.html + + and + + http://gcc.gnu.org/ml/java/1999-q3/msg00174.html + -------------------------------------------------------------------- */ + +#ifndef LIBFFI_H +#define LIBFFI_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Specify which architecture libffi is configured for. */ +#ifndef X86_64 +#define X86_64 +#endif + +/* ---- System configuration information --------------------------------- */ + +/* If these change, update src/mips/ffitarget.h. */ +#define FFI_TYPE_VOID 0 +#define FFI_TYPE_INT 1 +#define FFI_TYPE_FLOAT 2 +#define FFI_TYPE_DOUBLE 3 +#if 1 +#define FFI_TYPE_LONGDOUBLE 4 +#else +#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE +#endif +#define FFI_TYPE_UINT8 5 +#define FFI_TYPE_SINT8 6 +#define FFI_TYPE_UINT16 7 +#define FFI_TYPE_SINT16 8 +#define FFI_TYPE_UINT32 9 +#define FFI_TYPE_SINT32 10 +#define FFI_TYPE_UINT64 11 +#define FFI_TYPE_SINT64 12 +#define FFI_TYPE_STRUCT 13 +#define FFI_TYPE_POINTER 14 +#define FFI_TYPE_COMPLEX 15 + +/* This should always refer to the last type code (for sanity checks). */ +#define FFI_TYPE_LAST FFI_TYPE_COMPLEX + +#include + +#ifndef LIBFFI_ASM + +#if defined(_MSC_VER) && !defined(__clang__) +#define __attribute__(X) +#endif + +#include +#include + +/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). + But we can find it either under the correct ANSI name, or under GNU + C's internal name. */ + +#define FFI_64_BIT_MAX 9223372036854775807 + +#ifdef LONG_LONG_MAX +# define FFI_LONG_LONG_MAX LONG_LONG_MAX +#else +# ifdef LLONG_MAX +# define FFI_LONG_LONG_MAX LLONG_MAX +# ifdef _AIX52 /* or newer has C99 LLONG_MAX */ +# undef FFI_64_BIT_MAX +# define FFI_64_BIT_MAX 9223372036854775807LL +# endif /* _AIX52 or newer */ +# else +# ifdef __GNUC__ +# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ +# endif +# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */ +# ifndef __PPC64__ +# if defined (__IBMC__) || defined (__IBMCPP__) +# define FFI_LONG_LONG_MAX LONGLONG_MAX +# endif +# endif /* __PPC64__ */ +# undef FFI_64_BIT_MAX +# define FFI_64_BIT_MAX 9223372036854775807LL +# endif +# endif +#endif + +/* The closure code assumes that this works on pointers, i.e. a size_t + can hold a pointer. */ + +typedef struct _ffi_type +{ + size_t size; + unsigned short alignment; + unsigned short type; + struct _ffi_type **elements; +} ffi_type; + +/* Need minimal decorations for DLLs to work on Windows. GCC has + autoimport and autoexport. Always mark externally visible symbols + as dllimport for MSVC clients, even if it means an extra indirection + when using the static version of the library. + Besides, as a workaround, they can define FFI_BUILDING if they + *know* they are going to link with the static library. */ +#if defined _MSC_VER +# if defined FFI_BUILDING_DLL /* Building libffi.DLL with msvcc.sh */ +# define FFI_API __declspec(dllexport) +# elif !defined FFI_BUILDING /* Importing libffi.DLL */ +# define FFI_API __declspec(dllimport) +# else /* Building/linking static library */ +# define FFI_API +# endif +#else +# define FFI_API +#endif + +/* The externally visible type declarations also need the MSVC DLL + decorations, or they will not be exported from the object file. */ +#if defined LIBFFI_HIDE_BASIC_TYPES +# define FFI_EXTERN FFI_API +#else +# define FFI_EXTERN extern FFI_API +#endif + +#ifndef LIBFFI_HIDE_BASIC_TYPES +#if SCHAR_MAX == 127 +# define ffi_type_uchar ffi_type_uint8 +# define ffi_type_schar ffi_type_sint8 +#else + #error "char size not supported" +#endif + +#if SHRT_MAX == 32767 +# define ffi_type_ushort ffi_type_uint16 +# define ffi_type_sshort ffi_type_sint16 +#elif SHRT_MAX == 2147483647 +# define ffi_type_ushort ffi_type_uint32 +# define ffi_type_sshort ffi_type_sint32 +#else + #error "short size not supported" +#endif + +#if INT_MAX == 32767 +# define ffi_type_uint ffi_type_uint16 +# define ffi_type_sint ffi_type_sint16 +#elif INT_MAX == 2147483647 +# define ffi_type_uint ffi_type_uint32 +# define ffi_type_sint ffi_type_sint32 +#elif INT_MAX == 9223372036854775807 +# define ffi_type_uint ffi_type_uint64 +# define ffi_type_sint ffi_type_sint64 +#else + #error "int size not supported" +#endif + +#if LONG_MAX == 2147483647 +# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX + #error "no 64-bit data type supported" +# endif +#elif LONG_MAX != FFI_64_BIT_MAX + #error "long size not supported" +#endif + +#if LONG_MAX == 2147483647 +# define ffi_type_ulong ffi_type_uint32 +# define ffi_type_slong ffi_type_sint32 +#elif LONG_MAX == FFI_64_BIT_MAX +# define ffi_type_ulong ffi_type_uint64 +# define ffi_type_slong ffi_type_sint64 +#else + #error "long size not supported" +#endif + +/* These are defined in types.c. */ +FFI_EXTERN ffi_type ffi_type_void; +FFI_EXTERN ffi_type ffi_type_uint8; +FFI_EXTERN ffi_type ffi_type_sint8; +FFI_EXTERN ffi_type ffi_type_uint16; +FFI_EXTERN ffi_type ffi_type_sint16; +FFI_EXTERN ffi_type ffi_type_uint32; +FFI_EXTERN ffi_type ffi_type_sint32; +FFI_EXTERN ffi_type ffi_type_uint64; +FFI_EXTERN ffi_type ffi_type_sint64; +FFI_EXTERN ffi_type ffi_type_float; +FFI_EXTERN ffi_type ffi_type_double; +FFI_EXTERN ffi_type ffi_type_pointer; + +#if 1 +FFI_EXTERN ffi_type ffi_type_longdouble; +#else +#define ffi_type_longdouble ffi_type_double +#endif + +#ifdef FFI_TARGET_HAS_COMPLEX_TYPE +FFI_EXTERN ffi_type ffi_type_complex_float; +FFI_EXTERN ffi_type ffi_type_complex_double; +#if 1 +FFI_EXTERN ffi_type ffi_type_complex_longdouble; +#else +#define ffi_type_complex_longdouble ffi_type_complex_double +#endif +#endif +#endif /* LIBFFI_HIDE_BASIC_TYPES */ + +typedef enum { + FFI_OK = 0, + FFI_BAD_TYPEDEF, + FFI_BAD_ABI, + FFI_BAD_ARGTYPE +} ffi_status; + +typedef struct { + ffi_abi abi; + unsigned nargs; + ffi_type **arg_types; + ffi_type *rtype; + unsigned bytes; + unsigned flags; +#ifdef FFI_EXTRA_CIF_FIELDS + FFI_EXTRA_CIF_FIELDS; +#endif +} ffi_cif; + +/* ---- Definitions for the raw API -------------------------------------- */ + +#ifndef FFI_SIZEOF_ARG +# if LONG_MAX == 2147483647 +# define FFI_SIZEOF_ARG 4 +# elif LONG_MAX == FFI_64_BIT_MAX +# define FFI_SIZEOF_ARG 8 +# endif +#endif + +#ifndef FFI_SIZEOF_JAVA_RAW +# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG +#endif + +typedef union { + ffi_sarg sint; + ffi_arg uint; + float flt; + char data[FFI_SIZEOF_ARG]; + void* ptr; +} ffi_raw; + +#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 +/* This is a special case for mips64/n32 ABI (and perhaps others) where + sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ +typedef union { + signed int sint; + unsigned int uint; + float flt; + char data[FFI_SIZEOF_JAVA_RAW]; + void* ptr; +} ffi_java_raw; +#else +typedef ffi_raw ffi_java_raw; +#endif + + +FFI_API +void ffi_raw_call (ffi_cif *cif, + void (*fn)(void), + void *rvalue, + ffi_raw *avalue); + +FFI_API void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); +FFI_API void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); +FFI_API size_t ffi_raw_size (ffi_cif *cif); + +/* This is analogous to the raw API, except it uses Java parameter + packing, even on 64-bit machines. I.e. on 64-bit machines longs + and doubles are followed by an empty 64-bit word. */ + +#if !FFI_NATIVE_RAW_API +FFI_API +void ffi_java_raw_call (ffi_cif *cif, + void (*fn)(void), + void *rvalue, + ffi_java_raw *avalue) __attribute__((deprecated)); +#endif + +FFI_API +void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw) __attribute__((deprecated)); +FFI_API +void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args) __attribute__((deprecated)); +FFI_API +size_t ffi_java_raw_size (ffi_cif *cif) __attribute__((deprecated)); + +/* ---- Definitions for closures ----------------------------------------- */ + +#if FFI_CLOSURES + +#ifdef _MSC_VER +__declspec(align(8)) +#endif +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + union { + char tramp[FFI_TRAMPOLINE_SIZE]; + void *ftramp; + }; +#endif + ffi_cif *cif; + void (*fun)(ffi_cif*,void*,void**,void*); + void *user_data; +#if defined(_MSC_VER) && defined(_M_IX86) + void *padding; +#endif +} ffi_closure +#ifdef __GNUC__ + __attribute__((aligned (8))) +#endif + ; + +#ifndef __GNUC__ +# ifdef __sgi +# pragma pack 0 +# endif +#endif + +FFI_API void *ffi_closure_alloc (size_t size, void **code); +FFI_API void ffi_closure_free (void *); + +#if defined(PA_LINUX) || defined(PA_HPUX) +#define FFI_CLOSURE_PTR(X) ((void *)((unsigned int)(X) | 2)) +#define FFI_RESTORE_PTR(X) ((void *)((unsigned int)(X) & ~3)) +#else +#define FFI_CLOSURE_PTR(X) (X) +#define FFI_RESTORE_PTR(X) (X) +#endif + +FFI_API ffi_status +ffi_prep_closure (ffi_closure*, + ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*), + void *user_data) +#if defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 405) + __attribute__((deprecated ("use ffi_prep_closure_loc instead"))) +#elif defined(__GNUC__) && __GNUC__ >= 3 + __attribute__((deprecated)) +#endif + ; + +FFI_API ffi_status +ffi_prep_closure_loc (ffi_closure*, + ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*), + void *user_data, + void *codeloc); + +#ifdef __sgi +# pragma pack 8 +#endif +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + ffi_cif *cif; + +#if !FFI_NATIVE_RAW_API + + /* If this is enabled, then a raw closure has the same layout + as a regular closure. We use this to install an intermediate + handler to do the translation, void** -> ffi_raw*. */ + + void (*translate_args)(ffi_cif*,void*,void**,void*); + void *this_closure; + +#endif + + void (*fun)(ffi_cif*,void*,ffi_raw*,void*); + void *user_data; + +} ffi_raw_closure; + +typedef struct { +#if 0 + void *trampoline_table; + void *trampoline_table_entry; +#else + char tramp[FFI_TRAMPOLINE_SIZE]; +#endif + + ffi_cif *cif; + +#if !FFI_NATIVE_RAW_API + + /* If this is enabled, then a raw closure has the same layout + as a regular closure. We use this to install an intermediate + handler to do the translation, void** -> ffi_raw*. */ + + void (*translate_args)(ffi_cif*,void*,void**,void*); + void *this_closure; + +#endif + + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); + void *user_data; + +} ffi_java_raw_closure; + +FFI_API ffi_status +ffi_prep_raw_closure (ffi_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_raw*,void*), + void *user_data); + +FFI_API ffi_status +ffi_prep_raw_closure_loc (ffi_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_raw*,void*), + void *user_data, + void *codeloc); + +#if !FFI_NATIVE_RAW_API +FFI_API ffi_status +ffi_prep_java_raw_closure (ffi_java_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), + void *user_data) __attribute__((deprecated)); + +FFI_API ffi_status +ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, + ffi_cif *cif, + void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), + void *user_data, + void *codeloc) __attribute__((deprecated)); +#endif + +#endif /* FFI_CLOSURES */ + +#if FFI_GO_CLOSURES + +typedef struct { + void *tramp; + ffi_cif *cif; + void (*fun)(ffi_cif*,void*,void**,void*); +} ffi_go_closure; + +FFI_API ffi_status ffi_prep_go_closure (ffi_go_closure*, ffi_cif *, + void (*fun)(ffi_cif*,void*,void**,void*)); + +FFI_API void ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue, + void **avalue, void *closure); + +#endif /* FFI_GO_CLOSURES */ + +/* ---- Public interface definition -------------------------------------- */ + +FFI_API +ffi_status ffi_prep_cif(ffi_cif *cif, + ffi_abi abi, + unsigned int nargs, + ffi_type *rtype, + ffi_type **atypes); + +FFI_API +ffi_status ffi_prep_cif_var(ffi_cif *cif, + ffi_abi abi, + unsigned int nfixedargs, + unsigned int ntotalargs, + ffi_type *rtype, + ffi_type **atypes); + +FFI_API +void ffi_call(ffi_cif *cif, + void (*fn)(void), + void *rvalue, + void **avalue); + +FFI_API +ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type, + size_t *offsets); + +/* Useful for eliminating compiler warnings. */ +#define FFI_FN(f) ((void (*)(void))f) + +/* ---- Definitions shared with assembly code ---------------------------- */ + +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffitarget.h b/deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffitarget.h new file mode 100644 index 0000000000..5a3399d809 --- /dev/null +++ b/deps/libffi-3.4.4/x86_64-pc-linux-gnu/include/ffitarget.h @@ -0,0 +1,164 @@ +/* -----------------------------------------------------------------*-C-*- + ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green + Copyright (c) 1996-2003, 2010 Red Hat, Inc. + Copyright (C) 2008 Free Software Foundation, Inc. + + Target configuration macros for x86 and x86-64. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + ``Software''), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + ----------------------------------------------------------------------- */ + +#ifndef LIBFFI_TARGET_H +#define LIBFFI_TARGET_H + +#ifndef LIBFFI_H +#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." +#endif + +/* ---- System specific configurations ----------------------------------- */ + +/* For code common to all platforms on x86 and x86_64. */ +#define X86_ANY + +#if defined (X86_64) && defined (__i386__) +#undef X86_64 +#warning ****************************************************** +#warning ********** X86 IS DEFINED **************************** +#warning ****************************************************** +#define X86 +#endif + +#ifdef X86_WIN64 +#define FFI_SIZEOF_ARG 8 +#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */ +#endif + +#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION +#ifndef _MSC_VER +#define FFI_TARGET_HAS_COMPLEX_TYPE +#endif + +/* ---- Generic type definitions ----------------------------------------- */ + +#ifndef LIBFFI_ASM +#ifdef X86_WIN64 +#ifdef _MSC_VER +typedef unsigned __int64 ffi_arg; +typedef __int64 ffi_sarg; +#else +typedef unsigned long long ffi_arg; +typedef long long ffi_sarg; +#endif +#else +#if defined __x86_64__ && defined __ILP32__ +#define FFI_SIZEOF_ARG 8 +#define FFI_SIZEOF_JAVA_RAW 4 +typedef unsigned long long ffi_arg; +typedef long long ffi_sarg; +#else +typedef unsigned long ffi_arg; +typedef signed long ffi_sarg; +#endif +#endif + +typedef enum ffi_abi { +#if defined(X86_WIN64) + FFI_FIRST_ABI = 0, + FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */ + FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */ + FFI_LAST_ABI, +#ifdef __GNUC__ + FFI_DEFAULT_ABI = FFI_GNUW64 +#else + FFI_DEFAULT_ABI = FFI_WIN64 +#endif + +#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN)) + FFI_FIRST_ABI = 1, + FFI_UNIX64, + FFI_WIN64, + FFI_EFI64 = FFI_WIN64, + FFI_GNUW64, + FFI_LAST_ABI, + FFI_DEFAULT_ABI = FFI_UNIX64 + +#elif defined(X86_WIN32) + FFI_FIRST_ABI = 0, + FFI_SYSV = 1, + FFI_STDCALL = 2, + FFI_THISCALL = 3, + FFI_FASTCALL = 4, + FFI_MS_CDECL = 5, + FFI_PASCAL = 6, + FFI_REGISTER = 7, + FFI_LAST_ABI, + FFI_DEFAULT_ABI = FFI_MS_CDECL +#else + FFI_FIRST_ABI = 0, + FFI_SYSV = 1, + FFI_THISCALL = 3, + FFI_FASTCALL = 4, + FFI_STDCALL = 5, + FFI_PASCAL = 6, + FFI_REGISTER = 7, + FFI_MS_CDECL = 8, + FFI_LAST_ABI, + FFI_DEFAULT_ABI = FFI_SYSV +#endif +} ffi_abi; +#endif + +/* ---- Definitions for closures ----------------------------------------- */ + +#define FFI_CLOSURES 1 +#define FFI_GO_CLOSURES 1 + +#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1) +#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2) +#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3) +#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4) + +#if defined (X86_64) || defined(X86_WIN64) \ + || (defined (__x86_64__) && defined (X86_DARWIN)) +/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP + + 8 bytes of pointer. */ +# define FFI_TRAMPOLINE_SIZE 32 +# define FFI_NATIVE_RAW_API 0 +#else +/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused + bytes. */ +# define FFI_TRAMPOLINE_SIZE 16 +# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */ +#endif + +#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__) +# include +# if (__CET__ & 1) != 0 +# define ENDBR_PRESENT +# endif +# define _CET_NOTRACK notrack +#else +# define _CET_ENDBR +# define _CET_NOTRACK +#endif + +#endif diff --git a/ecere/Makefile.static b/ecere/Makefile.static new file mode 100644 index 0000000000..34599ba302 --- /dev/null +++ b/ecere/Makefile.static @@ -0,0 +1,2133 @@ +ifneq ($(V),1) +.SILENT: +endif + +.PHONY: all objdir cleantarget clean realclean wipeclean distclean + +# CORE VARIABLES + +MODULE := ecere +VERSION := 0.44 +CONFIG := static +ifndef COMPILER +COMPILER := default +endif + +TARGET_TYPE = staticlib + +# FLAGS + +ECFLAGS = +ifndef DEBIAN_PACKAGE +CFLAGS = +LDFLAGS = +endif +PRJ_CFLAGS = +CECFLAGS = +OFLAGS = +LIBS = + +ifdef DEBUG +NOSTRIP := y +endif + +CONSOLE = -mwindows + +# INCLUDES + +_CF_DIR = ../ +USE_BOOTSTRAP := defined + +include $(_CF_DIR)crossplatform.mk +include $(_CF_DIR)default.cf + +ifdef PREFIXLIBDIR +CFLAGS += -DDEB_HOST_MULTIARCH=\"$(call escspace,$(PREFIXLIBDIR))\" +endif + +# POST-INCLUDES VARIABLES + +OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ + +RES = res/ + +TARGET_NAME := ecereStatic + +TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)$(TARGET_NAME)$(OUT) + +_ECSOURCES = $(_ECSOURCES1) $(_ECSOURCES2) $(_ECSOURCES3) +_ECSOURCES1 = \ + src/sys/Archive.ec \ + src/sys/BufferedFile.ec \ + src/sys/Date.ec \ + src/sys/DualPipe.ec \ + src/sys/EARArchive.ec \ + src/sys/File.ec \ + src/sys/FileMonitor.ec \ + src/sys/GlobalAppSettings.ec \ + src/sys/JSON.ec \ + src/sys/JSONGlobalSettings.ec \ + src/sys/memory.ec \ + src/sys/Mutex.ec \ + src/sys/Semaphore.ec \ + src/sys/System.ec \ + src/sys/TempFile.ec \ + src/sys/Thread.ec \ + src/sys/Time.ec \ + src/sys/unicode.ec \ + src/sys/units.ec \ + src/sys/i18n.ec \ + src/sys/Condition.ec \ + src/gfx/3D/meshes/Cube.ec \ + src/gfx/3D/meshes/SkyBox.ec \ + src/gfx/3D/meshes/Sphere.ec \ + src/gfx/3D/models/Object3DSFormat.ec \ + src/gfx/3D/depthsort/Tetrahedron.ec \ + src/gfx/3D/depthsort/TopoSort.ec \ + src/gfx/3D/depthsort/DepthSort.ec \ + src/gfx/3D/depthsort/Pool.ec \ + src/gfx/3D/Camera.ec \ + src/gfx/3D/Matrix.ec \ + src/gfx/3D/Mesh.ec \ + src/gfx/3D/Object.ec \ + src/gfx/3D/Plane.ec \ + src/gfx/3D/Quaternion.ec \ + src/gfx/3D/Vector3D.ec \ + src/gfx/bitmaps/BMPFormat.ec \ + src/gfx/bitmaps/GIFFormat.ec \ + src/gfx/bitmaps/JPEGFormat.ec \ + src/gfx/bitmaps/PCXFormat.ec \ + src/gfx/bitmaps/PNGFormat.ec \ + src/gfx/bitmaps/RGBFormat.ec \ + src/gfx/bitmaps/ETC2Format.ec \ + src/gfx/drivers/gl3/glab.ec \ + src/gfx/drivers/gl3/immediate.ec \ + src/gfx/drivers/gl3/matrixStack.ec \ + src/gfx/drivers/gl3/shaders.ec \ + src/gfx/drivers/gl3/defaultShader.ec \ + src/gfx/drivers/gl3/GLMultiDraw.ec \ + $(if $(WINDOWS_TARGET),src/gfx/drivers/GDIDisplayDriver.ec,) \ + src/gfx/drivers/lfbBlit.ec \ + src/gfx/drivers/lfbConvert.ec \ + src/gfx/drivers/LFBDisplayDriver.ec +_ECSOURCES2 = \ + $(if $(or $(LINUX_TARGET),$(OSX_TARGET)),src/gfx/drivers/NCursesDisplayDriver.ec,) \ + src/gfx/drivers/OpenGLDisplayDriver.ec \ + $(if $(OSX_TARGET),src/gfx/drivers/CocoaOpenGLDisplayDriver.ec,) \ + $(if $(or $(LINUX_TARGET),$(OSX_TARGET)),src/gfx/drivers/XDisplayDriver.ec,) \ + src/gfx/newFonts/atlasBuilder.ec \ + src/gfx/newFonts/drawManager.ec \ + src/gfx/newFonts/fmFontManager.ec \ + src/gfx/newFonts/fontRenderer.ec \ + src/gfx/newFonts/textureManager.ec \ + src/gfx/Bitmap.ec \ + src/gfx/BitmapResource.ec \ + src/gfx/Color.ec \ + src/gfx/Display.ec \ + src/gfx/DisplaySystem.ec \ + src/gfx/FontResource.ec \ + src/gfx/Resource.ec \ + src/gfx/Surface.ec \ + src/gfx/fontManagement.ec \ + src/gfx/fontRendering.ec \ + src/gfx/imgDistMap.ec \ + src/gui/controls/Button.ec \ + src/gui/controls/CalendarControl.ec \ + src/gui/controls/DataBox.ec \ + src/gui/controls/DropBox.ec \ + src/gui/controls/EditBox.ec \ + src/gui/controls/Label.ec \ + src/gui/controls/ListBox.ec \ + src/gui/controls/Menu.ec \ + src/gui/controls/Picture.ec \ + src/gui/controls/ProgressBar.ec \ + src/gui/controls/ScrollBar.ec \ + src/gui/controls/StatusBar.ec \ + src/gui/controls/TabControl.ec \ + src/gui/controls/PaneSplitter.ec \ + src/gui/controls/Stacker.ec \ + src/gui/controls/PathBox.ec \ + src/gui/controls/ToolTip.ec \ + src/gui/controls/SelectorBar.ec \ + src/gui/dialogs/ColorPicker.ec \ + src/gui/dialogs/FileDialog.ec \ + src/gui/dialogs/FindDialog.ec \ + src/gui/dialogs/GoToDialog.ec \ + src/gui/dialogs/MessageBox.ec +_ECSOURCES3 = \ + src/gui/dialogs/ReplaceDialog.ec \ + src/gui/dialogs/WindowList.ec \ + $(if $(OSX_TARGET),src/gui/drivers/cocoa/CocoaDispatch.ec,) \ + $(if $(OSX_TARGET),src/gui/drivers/cocoa/CocoaInterface.ec,) \ + $(if $(or $(LINUX_TARGET),$(OSX_TARGET)),src/gui/drivers/NCursesInterface.ec,) \ + $(if $(WINDOWS_TARGET),src/gui/drivers/Win32Interface.ec,) \ + $(if $(WINDOWS_TARGET),src/gui/drivers/Win32ConsoleInterface.ec,) \ + $(if $(or $(LINUX_TARGET),$(OSX_TARGET)),src/gui/drivers/XInterface.ec,) \ + src/gui/skins/TVisionSkin.ec \ + src/gui/skins/WindowsSkin.ec \ + src/gui/Anchor.ec \ + src/gui/ClipBoard.ec \ + src/gui/Cursor.ec \ + src/gui/Desktop3D.ec \ + src/gui/FormDesigner.ec \ + src/gui/GuiApplication.ec \ + src/gui/Interface.ec \ + src/gui/Key.ec \ + src/gui/Skin.ec \ + src/gui/Timer.ec \ + src/gui/typeEdit.ec \ + src/gui/Window.ec \ + src/net/dcom.ec \ + src/net/HTTPFile.ec \ + src/net/network.ec \ + src/net/NetworkClientFile.ec \ + src/net/Service.ec \ + src/net/Socket.ec \ + src/net/SSLSocket.ec \ + src/com/containers/Array.ec \ + src/com/containers/AVLTree.ec \ + src/com/containers/BuiltInContainer.ec \ + src/com/containers/Container.ec \ + src/com/containers/CustomAVLTree.ec \ + src/com/containers/LinkList.ec \ + src/com/containers/List.ec \ + src/com/containers/Map.ec \ + src/com/containers/HashMap.ec \ + src/com/containers/HashTable.ec \ + src/com/BinaryTree.ec \ + src/com/BTNode.ec \ + src/com/dataTypes.ec \ + src/com/instance.ec \ + src/com/String.ec \ + src/com/OldList.ec + +ECSOURCES = $(call shwspace,$(_ECSOURCES)) +ECSOURCES1 = $(call shwspace,$(_ECSOURCES1)) +ECSOURCES2 = $(call shwspace,$(_ECSOURCES2)) +ECSOURCES3 = $(call shwspace,$(_ECSOURCES3)) + +_COBJECTS = $(COBJECTS1) $(COBJECTS2) $(COBJECTS3) +_COBJECTS1 = $(addprefix $(OBJ),$(patsubst %.ec,%$(C),$(notdir $(_ECSOURCES1)))) +_COBJECTS2 = $(addprefix $(OBJ),$(patsubst %.ec,%$(C),$(notdir $(_ECSOURCES2)))) +_COBJECTS3 = $(addprefix $(OBJ),$(patsubst %.ec,%$(C),$(notdir $(_ECSOURCES3)))) + +_SYMBOLS = $(SYMBOLS1) $(SYMBOLS2) $(SYMBOLS3) +_SYMBOLS1 = $(addprefix $(OBJ),$(patsubst %.ec,%$(S),$(notdir $(_ECSOURCES1)))) +_SYMBOLS2 = $(addprefix $(OBJ),$(patsubst %.ec,%$(S),$(notdir $(_ECSOURCES2)))) +_SYMBOLS3 = $(addprefix $(OBJ),$(patsubst %.ec,%$(S),$(notdir $(_ECSOURCES3)))) + +_IMPORTS = $(IMPORTS1) $(IMPORTS2) $(IMPORTS3) +_IMPORTS1 = $(addprefix $(OBJ),$(patsubst %.ec,%$(I),$(notdir $(_ECSOURCES1)))) +_IMPORTS2 = $(addprefix $(OBJ),$(patsubst %.ec,%$(I),$(notdir $(_ECSOURCES2)))) +_IMPORTS3 = $(addprefix $(OBJ),$(patsubst %.ec,%$(I),$(notdir $(_ECSOURCES3)))) + +_ECOBJECTS = $(ECOBJECTS1) $(ECOBJECTS2) $(ECOBJECTS3) +_ECOBJECTS1 = $(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(_ECSOURCES1)))) +_ECOBJECTS2 = $(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(_ECSOURCES2)))) +_ECOBJECTS3 = $(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(_ECSOURCES3)))) + +_BOWLS = $(BOWLS1) $(BOWLS2) $(BOWLS3) +_BOWLS1 = $(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES1)))) +_BOWLS2 = $(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES2)))) +_BOWLS3 = $(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES3)))) + +COBJECTS = $(COBJECTS1) $(COBJECTS2) $(COBJECTS3) +COBJECTS1 = $(call shwspace,$(_COBJECTS1)) +COBJECTS2 = $(call shwspace,$(_COBJECTS2)) +COBJECTS3 = $(call shwspace,$(_COBJECTS3)) + +SYMBOLS = $(SYMBOLS1) $(SYMBOLS2) $(SYMBOLS3) +SYMBOLS1 = $(call shwspace,$(_SYMBOLS1)) +SYMBOLS2 = $(call shwspace,$(_SYMBOLS2)) +SYMBOLS3 = $(call shwspace,$(_SYMBOLS3)) + +IMPORTS = $(IMPORTS1) $(IMPORTS2) $(IMPORTS3) +IMPORTS1 = $(call shwspace,$(_IMPORTS1)) +IMPORTS2 = $(call shwspace,$(_IMPORTS2)) +IMPORTS3 = $(call shwspace,$(_IMPORTS3)) + +ECOBJECTS = $(ECOBJECTS1) $(ECOBJECTS2) $(ECOBJECTS3) +ECOBJECTS1 = $(call shwspace,$(_ECOBJECTS1)) +ECOBJECTS2 = $(call shwspace,$(_ECOBJECTS2)) +ECOBJECTS3 = $(call shwspace,$(_ECOBJECTS3)) + +BOWLS = $(BOWLS1) $(BOWLS2) $(BOWLS3) +BOWLS1 = $(call shwspace,$(_BOWLS1)) +BOWLS2 = $(call shwspace,$(_BOWLS2)) +BOWLS3 = $(call shwspace,$(_BOWLS3)) + +_OBJECTS = $(_OBJECTS1) $(_OBJECTS2) +_OBJECTS1 = \ + $(OBJ)File.c$(O) \ + $(OBJ)DualPipe.c$(O) \ + $(OBJ)System.c$(O) \ + $(OBJ)harfbuzz-freetype$(O) \ + $(OBJ)harfbuzz-unicode-tables$(O) \ + $(OBJ)harfbuzz-unicode$(O) \ + $(OBJ)harfbuzz-arabic$(O) \ + $(OBJ)harfbuzz-buffer$(O) \ + $(OBJ)harfbuzz-gdef$(O) \ + $(OBJ)harfbuzz-gpos$(O) \ + $(OBJ)harfbuzz-gsub$(O) \ + $(OBJ)harfbuzz-hangul$(O) \ + $(OBJ)harfbuzz-hebrew$(O) \ + $(OBJ)harfbuzz-indic$(O) \ + $(OBJ)harfbuzz-khmer$(O) \ + $(OBJ)harfbuzz-myanmar$(O) \ + $(OBJ)harfbuzz-open$(O) \ + $(OBJ)harfbuzz-shaper$(O) \ + $(OBJ)harfbuzz-stream$(O) \ + $(OBJ)harfbuzz-tibetan$(O) \ + $(OBJ)harfbuzz-impl$(O) \ + $(OBJ)harfbuzz-thai$(O) \ + $(OBJ)gl_compat_4_4$(O) \ + $(OBJ)QuickETC2Pak$(O) \ + $(OBJ)cc$(O) \ + $(OBJ)mm$(O) \ + $(OBJ)ccstr$(O) +_OBJECTS2 = \ + $(OBJ)mmhash$(O) \ + $(if $(OSX_TARGET),$(OBJ)CocoaEcereBridge$(O),) \ + $(if $(OSX_TARGET),$(OBJ)EcereView$(O),) \ + $(OBJ)instance.c$(O) + +OBJECTS = $(_OBJECTS) $(ECOBJECTS) $(OBJ)$(MODULE).main$(O) + +SOURCES = $(ECSOURCES) \ + src/sys/File.c \ + src/sys/DualPipe.c \ + src/sys/System.c \ + src/gfx/drivers/harfbuzz/unicode/harfbuzz-freetype.c \ + src/gfx/drivers/harfbuzz/unicode/harfbuzz-unicode-tables.c \ + src/gfx/drivers/harfbuzz/unicode/harfbuzz-unicode.c \ + src/gfx/drivers/harfbuzz/harfbuzz-arabic.c \ + src/gfx/drivers/harfbuzz/harfbuzz-buffer.c \ + src/gfx/drivers/harfbuzz/harfbuzz-gdef.c \ + src/gfx/drivers/harfbuzz/harfbuzz-gpos.c \ + src/gfx/drivers/harfbuzz/harfbuzz-gsub.c \ + src/gfx/drivers/harfbuzz/harfbuzz-hangul.c \ + src/gfx/drivers/harfbuzz/harfbuzz-hebrew.c \ + src/gfx/drivers/harfbuzz/harfbuzz-indic.c \ + src/gfx/drivers/harfbuzz/harfbuzz-khmer.c \ + src/gfx/drivers/harfbuzz/harfbuzz-myanmar.c \ + src/gfx/drivers/harfbuzz/harfbuzz-open.c \ + src/gfx/drivers/harfbuzz/harfbuzz-shaper.c \ + src/gfx/drivers/harfbuzz/harfbuzz-stream.c \ + src/gfx/drivers/harfbuzz/harfbuzz-tibetan.c \ + src/gfx/drivers/harfbuzz/harfbuzz-impl.c \ + src/gfx/drivers/harfbuzz/harfbuzz-thai.c \ + src/gfx/drivers/gl3/gl_compat_4_4.c \ + ../deps/etcpak/QuickETC2Pak.c \ + src/gfx/newFonts/cc/cc.c \ + src/gfx/newFonts/cc/mm.c \ + src/gfx/newFonts/cc/ccstr.c \ + src/gfx/newFonts/cc/mmhash.c \ + $(if $(OSX_TARGET),src/gui/drivers/cocoa/CocoaEcereBridge.m,) \ + $(if $(OSX_TARGET),src/gui/drivers/cocoa/EcereView.m,) \ + src/com/instance.c + +RESOURCES = $(RESOURCES1) $(RESOURCES2) $(RESOURCES3) +RESOURCES1 = \ + $(RES)actions/editFind.png \ + $(RES)actions/folderNew.png \ + $(RES)actions/goDown.png \ + $(RES)actions/goHome.png \ + $(RES)actions/goNext.png \ + $(RES)actions/goPrevious.png \ + $(RES)actions/goUp.png \ + $(RES)actions/listAdd.png \ + $(RES)actions/listRemove.png \ + $(RES)actions/viewRefresh.png \ + $(RES)actions/windowNew.png \ + $(RES)actions/clean.png \ + $(RES)actions/docSave.png \ + $(RES)actions/docNew.png \ + $(RES)constructs/class.png \ + $(RES)constructs/data.png \ + $(RES)constructs/dataPrivate.png \ + $(RES)constructs/dataType.png \ + $(RES)constructs/enum.png \ + $(RES)constructs/enumValue.png \ + $(RES)constructs/event.png \ + $(RES)constructs/library.png \ + $(RES)constructs/method.png \ + $(RES)constructs/methodPrivate.png \ + $(RES)constructs/namespace.png \ + $(RES)constructs/property.png \ + $(RES)constructs/propertyPrivate.png \ + $(RES)controls/button.png \ + $(RES)controls/calendar.png \ + $(RES)controls/checkBox.png \ + $(RES)controls/dataBox.png \ + $(RES)controls/dropBox.png \ + $(RES)controls/editBox.png \ + $(RES)controls/groupBox.png \ + $(RES)controls/label.png \ + $(RES)controls/listBox.png \ + $(RES)controls/menu.png \ + $(RES)controls/optionBox.png \ + $(RES)controls/progressBar.png \ + $(RES)controls/scrollBarHorizontal.png \ + $(RES)controls/scrollBarVertical.png \ + $(RES)controls/statusBar.png \ + $(RES)cursors/arrow.png \ + $(RES)cursors/cross.png \ + $(RES)cursors/iBeam.png \ + $(RES)cursors/move.png \ + $(RES)cursors/sizeEastWest.png \ + $(RES)cursors/sizeNortEastSouthWest.png \ + $(RES)cursors/sizeNorthSouth.png \ + $(RES)cursors/sizeNortWestSouthEast.png +RESOURCES2 = \ + $(RES)devices/computer.png \ + $(RES)devices/driveHardDisk.png \ + $(RES)devices/driveRemovableMedia.png \ + $(RES)devices/mediaFloppy.png \ + $(RES)devices/mediaOptical.png \ + $(RES)elements/areaClose.png \ + $(RES)elements/areaMaximize.png \ + $(RES)elements/areaMinimize.png \ + $(RES)elements/areaRestore.png \ + $(RES)elements/arrowDown.png \ + $(RES)elements/arrowLeft.png \ + $(RES)elements/arrowRight.png \ + $(RES)elements/arrowUp.png \ + $(RES)elements/checkBoxChecked.png \ + $(RES)elements/checkBoxDisabled.png \ + $(RES)elements/checkBoxDisabledChecked.png \ + $(RES)elements/checkBox.png \ + $(RES)elements/optionBoxDisabled.png \ + $(RES)elements/optionBoxDisabledSelected.png \ + $(RES)elements/optionBoxDown.png \ + $(RES)elements/optionBoxSelectedDown.png \ + $(RES)elements/optionBoxSelectedUp.png \ + $(RES)elements/optionBoxUp.png \ + $(RES)elements/orderAscending.png \ + $(RES)elements/orderCategorized.png \ + $(RES)elements/orderDescending.png \ + $(RES)emblems/unreadable.png \ + $(RES)mimeTypes/file.png \ + $(RES)mimeTypes/image.png \ + $(RES)mimeTypes/package.png \ + $(RES)mimeTypes/packageOpticalDisc.png \ + $(RES)mimeTypes/packageSoftware.png \ + $(RES)mimeTypes/text.png \ + $(RES)mimeTypes/textCHeader.png \ + $(RES)mimeTypes/textCSource.png \ + $(RES)mimeTypes/textC++Header.png \ + $(RES)mimeTypes/textC++Source.png \ + $(RES)mimeTypes/textEcereHeader.png \ + $(RES)mimeTypes/textEcereProject.png \ + $(RES)mimeTypes/textEcereSource.png \ + $(RES)mimeTypes/textEcereWorkspace.png \ + $(RES)mimeTypes/textHyperTextMarkup.png +RESOURCES3 = \ + $(RES)mimeTypes/brokenFile.png \ + $(RES)places/driveRemote.png \ + $(RES)places/folder.png \ + $(RES)places/folderRemote.png \ + $(RES)places/networkServer.png \ + $(RES)places/networkWorkgroup.png \ + $(RES)places/brokenFolder.png \ + $(RES)status/audioVolumeHigh.png \ + $(RES)status/folderOpen.png \ + $(RES)unicode/derivedGeneralCategoryStripped.txt \ + $(RES)unicode/derivedCombiningClassStripped.txt \ + $(RES)unicode/caseFoldingStripped.txt \ + $(RES)unicode/decompositionMappings.txt \ + $(RES)unicode/diacriticFolding.txt \ + $(RES)unicode/katakanaFolding.txt \ + locale/es.mo \ + locale/hu.mo \ + locale/mr.mo \ + locale/nl.mo \ + locale/pt_BR.mo \ + locale/ru.mo \ + locale/zh_CN.mo \ + src/gfx/drivers/gl3/default.frag \ + src/gfx/drivers/gl3/default.vert \ + res/mozilla-cacert.pem + +ifdef USE_RESOURCES_EAR +RESOURCES_EAR = $(OBJ)resources.ear +else +RESOURCES_EAR = $(RESOURCES) +endif + +LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT) + +ifndef STATIC_LIBRARY_TARGET +LIBS += \ + $(call _L,jpeg) \ + $(call _L,png) \ + $(call _L,z) \ + $(call _L,freetype) +endif + +PRJ_CFLAGS += \ + $(if $(WINDOWS_TARGET), \ + -I../deps/jpeg-9a \ + -I../deps/libpng-1.6.12 \ + -I../deps/libungif-4.1.1/lib \ + -I../deps/zlib-1.2.8 \ + -I../deps/freetype-2.3.12/include \ + -I../deps/glext \ + -I../deps/curl-7.51.0/include \ + -I$(OPENSSL_INCLUDE_DIR),) \ + $(if $(LINUX_TARGET), \ + -I/usr/include/freetype2 \ + -I../deps/jpeg-9a,) \ + $(if $(OSX_TARGET), \ + -I/usr/include/freetype2 \ + -I$(SYSROOT)/usr/X11/include/freetype2 \ + -I$(SYSROOT)/usr/X11/include \ + -I/usr/X11R6/include/freetype2 \ + -I/usr/X11R6/include \ + -I../deps/jpeg-9a \ + -I../deps/libpng-1.6.12 \ + -I../deps/libungif-4.1.1/lib,) \ + $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -Wall -DREPOSITORY_VERSION="\"$(REPOSITORY_VER)\"" \ + -DBUILDING_ECERE_COM \ + -DCURL_DISABLE_TYPECHECK \ + -DECERE_STATIC \ + -DETC2_COMPRESS \ + -Isrc/gfx/drivers/harfbuzz \ + -I/usr/X11R6/include \ + -I/usr/X11R6/include/freetype2 \ + -Isrc/gfx/drivers/gl3 + +CUSTOM1_PRJ_CFLAGS = \ + $(if $(LINUX_TARGET), \ + -D_FILE_OFFSET_BITS=64,) \ + $(PRJ_CFLAGS) + +CUSTOM2_PRJ_CFLAGS = \ + -DECERE_COM_MODULE \ + $(PRJ_CFLAGS) + +CUSTOM3_PRJ_CFLAGS = \ + -Isrc/gui/drivers/cocoa \ + $(PRJ_CFLAGS) + +CUSTOM4_PRJ_CFLAGS = \ + -Isrc/gfx/newFonts/cc \ + $(PRJ_CFLAGS) + +CUSTOM5_PRJ_CFLAGS = \ + -Isrc/gfx/newFonts/cc \ + $(CUSTOM2_PRJ_CFLAGS) + +ECFLAGS += -module $(MODULE) +ECFLAGS += \ + -defaultns ecere + +# PLATFORM-SPECIFIC OPTIONS + +ifdef WINDOWS_TARGET + +ifndef STATIC_LIBRARY_TARGET +OFLAGS += \ + -L$(call quote_path,../deps/zlib-1.2.8/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + -L$(call quote_path,../deps/jpeg-9a/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + -L$(call quote_path,../deps/libpng-1.6.12/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + -L$(call quote_path,../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + -L$(call quote_path,../deps/freetype-2.3.12/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + -L$(call quote_path,../deps/curl-7.51.0/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + $(if $(OPENSSL_BIN_DIR),-L$(call quote_path,$(OPENSSL_BIN_DIR)),) \ + $(if $(OPENSSL_LIB_DIR),-L$(call quote_path,$(OPENSSL_LIB_DIR)),) +LIBS += \ + $(call _L,dxguid) \ + $(call _L,ddraw) \ + $(call _L,dinput) \ + $(call _L,winmm) \ + $(call _L,opengl32) \ + $(call _L,ws2_32) \ + $(call _L,kernel32) \ + $(call _L,user32) \ + $(call _L,gdi32) \ + $(call _L,mpr) \ + $(call _L,advapi32) \ + $(call _L,shell32) \ + $(call _L,winspool) \ + $(call _L,imm32) \ + $(call _L,ungif) \ + $(call _L,ssl) \ + $(call _L,crypto) +endif + +else +ifdef LINUX_TARGET + +ifndef STATIC_LIBRARY_TARGET +OFLAGS += \ + -L$(call quote_path,/usr/X11R6/lib) \ + -L$(call quote_path,../deps/jpeg-9a/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) +LIBS += \ + $(call _L,ncurses) \ + $(call _L,pthread) \ + $(call _L,m) \ + $(call _L,dl) \ + $(call _L,fontconfig) \ + $(call _L,gif) \ + $(call _L,X11) \ + $(call _L,Xext) \ + $(call _L,Xrender) \ + $(call _L,GL) \ + $(call _L,ssl) \ + $(call _L,crypto) +endif + +else +ifdef OSX_TARGET + +ifndef STATIC_LIBRARY_TARGET +OFLAGS += \ + -L$(call quote_path,$(SYSROOT)/usr/X11/lib) \ + -L$(call quote_path,/usr/X11R6/lib) \ + -L$(call quote_path,../deps/jpeg-9a/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) \ + -L$(call quote_path,../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)) +LIBS += \ + $(call _L,curses) \ + $(call _L,pthread) \ + $(call _L,m) \ + $(call _L,dl) \ + $(call _L,fontconfig) \ + $(call _L,ungif) \ + $(call _L,X11) \ + $(call _L,Xext) \ + $(call _L,Xrender) \ + $(call _L,GL) \ + $(call _L,ssl) \ + $(call _L,crypto) +endif + +endif +endif +endif + +CFLAGS += \ + -mmmx -msse -msse2 -msse3 -msse4 + +CECFLAGS += -cpp $(_CPP) + +# TARGETS + +all: objdir $(TARGET) + +objdir: + $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ))) + $(if $(ECERE_SDK_SRC),$(if $(wildcard $(call escspace,$(ECERE_SDK_SRC)/crossplatform.mk)),,@$(call echo,Ecere SDK Source Warning: The value of ECERE_SDK_SRC is pointing to an incorrect ($(ECERE_SDK_SRC)) location.)),) + $(if $(ECERE_SDK_SRC),,$(if $(ECP_DEBUG)$(ECC_DEBUG)$(ECS_DEBUG),@$(call echo,ECC Debug Warning: Please define ECERE_SDK_SRC before using ECP_DEBUG, ECC_DEBUG or ECS_DEBUG),)) + +$(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS) + @$(call rm,$(OBJ)symbols.lst) + @$(call touch,$(OBJ)symbols.lst) + $(call addtolistfile,$(SYMBOLS1),$(OBJ)symbols.lst) + $(call addtolistfile,$(SYMBOLS2),$(OBJ)symbols.lst) + $(call addtolistfile,$(SYMBOLS3),$(OBJ)symbols.lst) + $(call addtolistfile,$(IMPORTS1),$(OBJ)symbols.lst) + $(call addtolistfile,$(IMPORTS2),$(OBJ)symbols.lst) + $(call addtolistfile,$(IMPORTS3),$(OBJ)symbols.lst) + $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) @$(OBJ)symbols.lst -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(call quote_path,$@) + +$(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.ec -o $(call quote_path,$@) -symbols $(OBJ) + +$(SYMBOLS): | objdir +$(OBJECTS): | objdir +$(TARGET): $(SOURCES) $(RESOURCES_EAR) $(SYMBOLS) $(OBJECTS) | objdir + @$(call rm,$(OBJ)objects.lst) + @$(call touch,$(OBJ)objects.lst) + $(call addtolistfile,$(_OBJECTS1),$(OBJ)objects.lst) + $(call addtolistfile,$(_OBJECTS2),$(OBJ)objects.lst) + $(call addtolistfile,$(OBJ)$(MODULE).main$(O),$(OBJ)objects.lst) + $(call addtolistfile,$(ECOBJECTS1),$(OBJ)objects.lst) + $(call addtolistfile,$(ECOBJECTS2),$(OBJ)objects.lst) + $(call addtolistfile,$(ECOBJECTS3),$(OBJ)objects.lst) + $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS) + $(call cp,$(TARGET),../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/) + +# SYMBOL RULES + +$(OBJ)Archive.sym: src/sys/Archive.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/Archive.ec) -o $(call quote_path,$@) + +$(OBJ)BufferedFile.sym: src/sys/BufferedFile.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/BufferedFile.ec) -o $(call quote_path,$@) + +$(OBJ)Date.sym: src/sys/Date.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/Date.ec) -o $(call quote_path,$@) + +$(OBJ)DualPipe.sym: src/sys/DualPipe.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/DualPipe.ec) -o $(call quote_path,$@) + +$(OBJ)EARArchive.sym: src/sys/EARArchive.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/EARArchive.ec) -o $(call quote_path,$@) + +$(OBJ)File.sym: src/sys/File.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM1_PRJ_CFLAGS) -c $(call quote_path,src/sys/File.ec) -o $(call quote_path,$@) + +$(OBJ)FileMonitor.sym: src/sys/FileMonitor.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/FileMonitor.ec) -o $(call quote_path,$@) + +$(OBJ)GlobalAppSettings.sym: src/sys/GlobalAppSettings.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/GlobalAppSettings.ec) -o $(call quote_path,$@) + +$(OBJ)JSON.sym: src/sys/JSON.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/JSON.ec) -o $(call quote_path,$@) + +$(OBJ)JSONGlobalSettings.sym: src/sys/JSONGlobalSettings.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/JSONGlobalSettings.ec) -o $(call quote_path,$@) + +$(OBJ)memory.sym: src/sys/memory.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/memory.ec) -o $(call quote_path,$@) + +$(OBJ)Mutex.sym: src/sys/Mutex.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/sys/Mutex.ec) -o $(call quote_path,$@) + +$(OBJ)Semaphore.sym: src/sys/Semaphore.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/Semaphore.ec) -o $(call quote_path,$@) + +$(OBJ)System.sym: src/sys/System.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/System.ec) -o $(call quote_path,$@) + +$(OBJ)TempFile.sym: src/sys/TempFile.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/TempFile.ec) -o $(call quote_path,$@) + +$(OBJ)Thread.sym: src/sys/Thread.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/Thread.ec) -o $(call quote_path,$@) + +$(OBJ)Time.sym: src/sys/Time.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/Time.ec) -o $(call quote_path,$@) + +$(OBJ)unicode.sym: src/sys/unicode.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/unicode.ec) -o $(call quote_path,$@) + +$(OBJ)units.sym: src/sys/units.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/units.ec) -o $(call quote_path,$@) + +$(OBJ)i18n.sym: src/sys/i18n.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/sys/i18n.ec) -o $(call quote_path,$@) + +$(OBJ)Condition.sym: src/sys/Condition.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/Condition.ec) -o $(call quote_path,$@) + +$(OBJ)Cube.sym: src/gfx/3D/meshes/Cube.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/meshes/Cube.ec) -o $(call quote_path,$@) + +$(OBJ)SkyBox.sym: src/gfx/3D/meshes/SkyBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/meshes/SkyBox.ec) -o $(call quote_path,$@) + +$(OBJ)Sphere.sym: src/gfx/3D/meshes/Sphere.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/meshes/Sphere.ec) -o $(call quote_path,$@) + +$(OBJ)Object3DSFormat.sym: src/gfx/3D/models/Object3DSFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/models/Object3DSFormat.ec) -o $(call quote_path,$@) + +$(OBJ)Tetrahedron.sym: src/gfx/3D/depthsort/Tetrahedron.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/depthsort/Tetrahedron.ec) -o $(call quote_path,$@) + +$(OBJ)TopoSort.sym: src/gfx/3D/depthsort/TopoSort.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/depthsort/TopoSort.ec) -o $(call quote_path,$@) + +$(OBJ)DepthSort.sym: src/gfx/3D/depthsort/DepthSort.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/depthsort/DepthSort.ec) -o $(call quote_path,$@) + +$(OBJ)Pool.sym: src/gfx/3D/depthsort/Pool.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/depthsort/Pool.ec) -o $(call quote_path,$@) + +$(OBJ)Camera.sym: src/gfx/3D/Camera.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Camera.ec) -o $(call quote_path,$@) + +$(OBJ)Matrix.sym: src/gfx/3D/Matrix.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Matrix.ec) -o $(call quote_path,$@) + +$(OBJ)Mesh.sym: src/gfx/3D/Mesh.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Mesh.ec) -o $(call quote_path,$@) + +$(OBJ)Object.sym: src/gfx/3D/Object.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Object.ec) -o $(call quote_path,$@) + +$(OBJ)Plane.sym: src/gfx/3D/Plane.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Plane.ec) -o $(call quote_path,$@) + +$(OBJ)Quaternion.sym: src/gfx/3D/Quaternion.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Quaternion.ec) -o $(call quote_path,$@) + +$(OBJ)Vector3D.sym: src/gfx/3D/Vector3D.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/3D/Vector3D.ec) -o $(call quote_path,$@) + +$(OBJ)BMPFormat.sym: src/gfx/bitmaps/BMPFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/BMPFormat.ec) -o $(call quote_path,$@) + +$(OBJ)GIFFormat.sym: src/gfx/bitmaps/GIFFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/GIFFormat.ec) -o $(call quote_path,$@) + +$(OBJ)JPEGFormat.sym: src/gfx/bitmaps/JPEGFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/JPEGFormat.ec) -o $(call quote_path,$@) + +$(OBJ)PCXFormat.sym: src/gfx/bitmaps/PCXFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/PCXFormat.ec) -o $(call quote_path,$@) + +$(OBJ)PNGFormat.sym: src/gfx/bitmaps/PNGFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/PNGFormat.ec) -o $(call quote_path,$@) + +$(OBJ)RGBFormat.sym: src/gfx/bitmaps/RGBFormat.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/RGBFormat.ec) -o $(call quote_path,$@) + +$(OBJ)ETC2Format.sym: src/gfx/bitmaps/ETC2Format.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/bitmaps/ETC2Format.ec) -o $(call quote_path,$@) + +$(OBJ)glab.sym: src/gfx/drivers/gl3/glab.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/glab.ec) -o $(call quote_path,$@) + +$(OBJ)immediate.sym: src/gfx/drivers/gl3/immediate.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/immediate.ec) -o $(call quote_path,$@) + +$(OBJ)matrixStack.sym: src/gfx/drivers/gl3/matrixStack.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/matrixStack.ec) -o $(call quote_path,$@) + +$(OBJ)shaders.sym: src/gfx/drivers/gl3/shaders.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/shaders.ec) -o $(call quote_path,$@) + +$(OBJ)defaultShader.sym: src/gfx/drivers/gl3/defaultShader.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/defaultShader.ec) -o $(call quote_path,$@) + +$(OBJ)GLMultiDraw.sym: src/gfx/drivers/gl3/GLMultiDraw.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/GLMultiDraw.ec) -o $(call quote_path,$@) + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)GDIDisplayDriver.sym: src/gfx/drivers/GDIDisplayDriver.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/GDIDisplayDriver.ec) -o $(call quote_path,$@) +endif + +$(OBJ)lfbBlit.sym: src/gfx/drivers/lfbBlit.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/lfbBlit.ec) -o $(call quote_path,$@) + +$(OBJ)lfbConvert.sym: src/gfx/drivers/lfbConvert.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/lfbConvert.ec) -o $(call quote_path,$@) + +$(OBJ)LFBDisplayDriver.sym: src/gfx/drivers/LFBDisplayDriver.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/LFBDisplayDriver.ec) -o $(call quote_path,$@) + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)NCursesDisplayDriver.sym: src/gfx/drivers/NCursesDisplayDriver.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/NCursesDisplayDriver.ec) -o $(call quote_path,$@) +endif + +$(OBJ)OpenGLDisplayDriver.sym: src/gfx/drivers/OpenGLDisplayDriver.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/OpenGLDisplayDriver.ec) -o $(call quote_path,$@) + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaOpenGLDisplayDriver.sym: src/gfx/drivers/CocoaOpenGLDisplayDriver.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM3_PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/CocoaOpenGLDisplayDriver.ec) -o $(call quote_path,$@) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)XDisplayDriver.sym: src/gfx/drivers/XDisplayDriver.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/XDisplayDriver.ec) -o $(call quote_path,$@) +endif + +$(OBJ)atlasBuilder.sym: src/gfx/newFonts/atlasBuilder.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/atlasBuilder.ec) -o $(call quote_path,$@) + +$(OBJ)drawManager.sym: src/gfx/newFonts/drawManager.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/drawManager.ec) -o $(call quote_path,$@) + +$(OBJ)fmFontManager.sym: src/gfx/newFonts/fmFontManager.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/fmFontManager.ec) -o $(call quote_path,$@) + +$(OBJ)fontRenderer.sym: src/gfx/newFonts/fontRenderer.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/fontRenderer.ec) -o $(call quote_path,$@) + +$(OBJ)textureManager.sym: src/gfx/newFonts/textureManager.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/textureManager.ec) -o $(call quote_path,$@) + +$(OBJ)Bitmap.sym: src/gfx/Bitmap.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/Bitmap.ec) -o $(call quote_path,$@) + +$(OBJ)BitmapResource.sym: src/gfx/BitmapResource.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/BitmapResource.ec) -o $(call quote_path,$@) + +$(OBJ)Color.sym: src/gfx/Color.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/Color.ec) -o $(call quote_path,$@) + +$(OBJ)Display.sym: src/gfx/Display.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/Display.ec) -o $(call quote_path,$@) + +$(OBJ)DisplaySystem.sym: src/gfx/DisplaySystem.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/DisplaySystem.ec) -o $(call quote_path,$@) + +$(OBJ)FontResource.sym: src/gfx/FontResource.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/FontResource.ec) -o $(call quote_path,$@) + +$(OBJ)Resource.sym: src/gfx/Resource.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/Resource.ec) -o $(call quote_path,$@) + +$(OBJ)Surface.sym: src/gfx/Surface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/Surface.ec) -o $(call quote_path,$@) + +$(OBJ)fontManagement.sym: src/gfx/fontManagement.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/fontManagement.ec) -o $(call quote_path,$@) + +$(OBJ)fontRendering.sym: src/gfx/fontRendering.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/fontRendering.ec) -o $(call quote_path,$@) + +$(OBJ)imgDistMap.sym: src/gfx/imgDistMap.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/imgDistMap.ec) -o $(call quote_path,$@) + +$(OBJ)Button.sym: src/gui/controls/Button.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/Button.ec) -o $(call quote_path,$@) + +$(OBJ)CalendarControl.sym: src/gui/controls/CalendarControl.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/CalendarControl.ec) -o $(call quote_path,$@) + +$(OBJ)DataBox.sym: src/gui/controls/DataBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/DataBox.ec) -o $(call quote_path,$@) + +$(OBJ)DropBox.sym: src/gui/controls/DropBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/DropBox.ec) -o $(call quote_path,$@) + +$(OBJ)EditBox.sym: src/gui/controls/EditBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/EditBox.ec) -o $(call quote_path,$@) + +$(OBJ)Label.sym: src/gui/controls/Label.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/Label.ec) -o $(call quote_path,$@) + +$(OBJ)ListBox.sym: src/gui/controls/ListBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/ListBox.ec) -o $(call quote_path,$@) + +$(OBJ)Menu.sym: src/gui/controls/Menu.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/Menu.ec) -o $(call quote_path,$@) + +$(OBJ)Picture.sym: src/gui/controls/Picture.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/Picture.ec) -o $(call quote_path,$@) + +$(OBJ)ProgressBar.sym: src/gui/controls/ProgressBar.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/ProgressBar.ec) -o $(call quote_path,$@) + +$(OBJ)ScrollBar.sym: src/gui/controls/ScrollBar.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/ScrollBar.ec) -o $(call quote_path,$@) + +$(OBJ)StatusBar.sym: src/gui/controls/StatusBar.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/StatusBar.ec) -o $(call quote_path,$@) + +$(OBJ)TabControl.sym: src/gui/controls/TabControl.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/TabControl.ec) -o $(call quote_path,$@) + +$(OBJ)PaneSplitter.sym: src/gui/controls/PaneSplitter.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/PaneSplitter.ec) -o $(call quote_path,$@) + +$(OBJ)Stacker.sym: src/gui/controls/Stacker.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/Stacker.ec) -o $(call quote_path,$@) + +$(OBJ)PathBox.sym: src/gui/controls/PathBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/PathBox.ec) -o $(call quote_path,$@) + +$(OBJ)ToolTip.sym: src/gui/controls/ToolTip.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/ToolTip.ec) -o $(call quote_path,$@) + +$(OBJ)SelectorBar.sym: src/gui/controls/SelectorBar.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/SelectorBar.ec) -o $(call quote_path,$@) + +$(OBJ)ColorPicker.sym: src/gui/dialogs/ColorPicker.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/ColorPicker.ec) -o $(call quote_path,$@) + +$(OBJ)FileDialog.sym: src/gui/dialogs/FileDialog.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/FileDialog.ec) -o $(call quote_path,$@) + +$(OBJ)FindDialog.sym: src/gui/dialogs/FindDialog.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/FindDialog.ec) -o $(call quote_path,$@) + +$(OBJ)GoToDialog.sym: src/gui/dialogs/GoToDialog.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/GoToDialog.ec) -o $(call quote_path,$@) + +$(OBJ)MessageBox.sym: src/gui/dialogs/MessageBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/MessageBox.ec) -o $(call quote_path,$@) + +$(OBJ)ReplaceDialog.sym: src/gui/dialogs/ReplaceDialog.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/ReplaceDialog.ec) -o $(call quote_path,$@) + +$(OBJ)WindowList.sym: src/gui/dialogs/WindowList.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/dialogs/WindowList.ec) -o $(call quote_path,$@) + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaDispatch.sym: src/gui/drivers/cocoa/CocoaDispatch.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/cocoa/CocoaDispatch.ec) -o $(call quote_path,$@) +endif + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaInterface.sym: src/gui/drivers/cocoa/CocoaInterface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/cocoa/CocoaInterface.ec) -o $(call quote_path,$@) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)NCursesInterface.sym: src/gui/drivers/NCursesInterface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/NCursesInterface.ec) -o $(call quote_path,$@) +endif + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)Win32Interface.sym: src/gui/drivers/Win32Interface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/Win32Interface.ec) -o $(call quote_path,$@) +endif + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)Win32ConsoleInterface.sym: src/gui/drivers/Win32ConsoleInterface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/Win32ConsoleInterface.ec) -o $(call quote_path,$@) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)XInterface.sym: src/gui/drivers/XInterface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/XInterface.ec) -o $(call quote_path,$@) +endif + +$(OBJ)TVisionSkin.sym: src/gui/skins/TVisionSkin.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/skins/TVisionSkin.ec) -o $(call quote_path,$@) + +$(OBJ)WindowsSkin.sym: src/gui/skins/WindowsSkin.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/skins/WindowsSkin.ec) -o $(call quote_path,$@) + +$(OBJ)Anchor.sym: src/gui/Anchor.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Anchor.ec) -o $(call quote_path,$@) + +$(OBJ)ClipBoard.sym: src/gui/ClipBoard.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/ClipBoard.ec) -o $(call quote_path,$@) + +$(OBJ)Cursor.sym: src/gui/Cursor.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Cursor.ec) -o $(call quote_path,$@) + +$(OBJ)Desktop3D.sym: src/gui/Desktop3D.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Desktop3D.ec) -o $(call quote_path,$@) + +$(OBJ)FormDesigner.sym: src/gui/FormDesigner.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/FormDesigner.ec) -o $(call quote_path,$@) + +$(OBJ)GuiApplication.sym: src/gui/GuiApplication.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/GuiApplication.ec) -o $(call quote_path,$@) + +$(OBJ)Interface.sym: src/gui/Interface.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Interface.ec) -o $(call quote_path,$@) + +$(OBJ)Key.sym: src/gui/Key.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Key.ec) -o $(call quote_path,$@) + +$(OBJ)Skin.sym: src/gui/Skin.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Skin.ec) -o $(call quote_path,$@) + +$(OBJ)Timer.sym: src/gui/Timer.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Timer.ec) -o $(call quote_path,$@) + +$(OBJ)typeEdit.sym: src/gui/typeEdit.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/typeEdit.ec) -o $(call quote_path,$@) + +$(OBJ)Window.sym: src/gui/Window.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/Window.ec) -o $(call quote_path,$@) + +$(OBJ)dcom.sym: src/net/dcom.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/dcom.ec) -o $(call quote_path,$@) + +$(OBJ)HTTPFile.sym: src/net/HTTPFile.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/HTTPFile.ec) -o $(call quote_path,$@) + +$(OBJ)network.sym: src/net/network.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/network.ec) -o $(call quote_path,$@) + +$(OBJ)NetworkClientFile.sym: src/net/NetworkClientFile.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/NetworkClientFile.ec) -o $(call quote_path,$@) + +$(OBJ)Service.sym: src/net/Service.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/Service.ec) -o $(call quote_path,$@) + +$(OBJ)Socket.sym: src/net/Socket.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/Socket.ec) -o $(call quote_path,$@) + +$(OBJ)SSLSocket.sym: src/net/SSLSocket.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/net/SSLSocket.ec) -o $(call quote_path,$@) + +$(OBJ)Array.sym: src/com/containers/Array.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/Array.ec) -o $(call quote_path,$@) + +$(OBJ)AVLTree.sym: src/com/containers/AVLTree.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/AVLTree.ec) -o $(call quote_path,$@) + +$(OBJ)BuiltInContainer.sym: src/com/containers/BuiltInContainer.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/BuiltInContainer.ec) -o $(call quote_path,$@) + +$(OBJ)Container.sym: src/com/containers/Container.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/Container.ec) -o $(call quote_path,$@) + +$(OBJ)CustomAVLTree.sym: src/com/containers/CustomAVLTree.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/CustomAVLTree.ec) -o $(call quote_path,$@) + +$(OBJ)LinkList.sym: src/com/containers/LinkList.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/LinkList.ec) -o $(call quote_path,$@) + +$(OBJ)List.sym: src/com/containers/List.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/List.ec) -o $(call quote_path,$@) + +$(OBJ)Map.sym: src/com/containers/Map.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/Map.ec) -o $(call quote_path,$@) + +$(OBJ)HashMap.sym: src/com/containers/HashMap.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM5_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/HashMap.ec) -o $(call quote_path,$@) + +$(OBJ)HashTable.sym: src/com/containers/HashTable.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM5_PRJ_CFLAGS) -c $(call quote_path,src/com/containers/HashTable.ec) -o $(call quote_path,$@) + +$(OBJ)BinaryTree.sym: src/com/BinaryTree.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/BinaryTree.ec) -o $(call quote_path,$@) + +$(OBJ)BTNode.sym: src/com/BTNode.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/BTNode.ec) -o $(call quote_path,$@) + +$(OBJ)dataTypes.sym: src/com/dataTypes.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/dataTypes.ec) -o $(call quote_path,$@) + +$(OBJ)instance.sym: src/com/instance.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/instance.ec) -o $(call quote_path,$@) + +$(OBJ)String.sym: src/com/String.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/String.ec) -o $(call quote_path,$@) + +$(OBJ)OldList.sym: src/com/OldList.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/OldList.ec) -o $(call quote_path,$@) + +# C OBJECT RULES + +$(OBJ)Archive.c: src/sys/Archive.ec $(OBJ)Archive.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Archive.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)BufferedFile.c: src/sys/BufferedFile.ec $(OBJ)BufferedFile.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/BufferedFile.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Date.c: src/sys/Date.ec $(OBJ)Date.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Date.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)DualPipe.c: src/sys/DualPipe.ec $(OBJ)DualPipe.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/DualPipe.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)EARArchive.c: src/sys/EARArchive.ec $(OBJ)EARArchive.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/EARArchive.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)File.c: src/sys/File.ec $(OBJ)File.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM1_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/File.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)FileMonitor.c: src/sys/FileMonitor.ec $(OBJ)FileMonitor.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/FileMonitor.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)GlobalAppSettings.c: src/sys/GlobalAppSettings.ec $(OBJ)GlobalAppSettings.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/GlobalAppSettings.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)JSON.c: src/sys/JSON.ec $(OBJ)JSON.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/JSON.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)JSONGlobalSettings.c: src/sys/JSONGlobalSettings.ec $(OBJ)JSONGlobalSettings.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/JSONGlobalSettings.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)memory.c: src/sys/memory.ec $(OBJ)memory.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/memory.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Mutex.c: src/sys/Mutex.ec $(OBJ)Mutex.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Mutex.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Semaphore.c: src/sys/Semaphore.ec $(OBJ)Semaphore.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Semaphore.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)System.c: src/sys/System.ec $(OBJ)System.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/System.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)TempFile.c: src/sys/TempFile.ec $(OBJ)TempFile.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/TempFile.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Thread.c: src/sys/Thread.ec $(OBJ)Thread.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Thread.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Time.c: src/sys/Time.ec $(OBJ)Time.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Time.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)unicode.c: src/sys/unicode.ec $(OBJ)unicode.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/unicode.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)units.c: src/sys/units.ec $(OBJ)units.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/units.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)i18n.c: src/sys/i18n.ec $(OBJ)i18n.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/i18n.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Condition.c: src/sys/Condition.ec $(OBJ)Condition.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/sys/Condition.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Cube.c: src/gfx/3D/meshes/Cube.ec $(OBJ)Cube.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/meshes/Cube.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)SkyBox.c: src/gfx/3D/meshes/SkyBox.ec $(OBJ)SkyBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/meshes/SkyBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Sphere.c: src/gfx/3D/meshes/Sphere.ec $(OBJ)Sphere.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/meshes/Sphere.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Object3DSFormat.c: src/gfx/3D/models/Object3DSFormat.ec $(OBJ)Object3DSFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/models/Object3DSFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Tetrahedron.c: src/gfx/3D/depthsort/Tetrahedron.ec $(OBJ)Tetrahedron.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/depthsort/Tetrahedron.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)TopoSort.c: src/gfx/3D/depthsort/TopoSort.ec $(OBJ)TopoSort.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/depthsort/TopoSort.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)DepthSort.c: src/gfx/3D/depthsort/DepthSort.ec $(OBJ)DepthSort.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/depthsort/DepthSort.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Pool.c: src/gfx/3D/depthsort/Pool.ec $(OBJ)Pool.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/depthsort/Pool.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Camera.c: src/gfx/3D/Camera.ec $(OBJ)Camera.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Camera.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Matrix.c: src/gfx/3D/Matrix.ec $(OBJ)Matrix.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Matrix.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Mesh.c: src/gfx/3D/Mesh.ec $(OBJ)Mesh.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Mesh.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Object.c: src/gfx/3D/Object.ec $(OBJ)Object.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Object.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Plane.c: src/gfx/3D/Plane.ec $(OBJ)Plane.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Plane.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Quaternion.c: src/gfx/3D/Quaternion.ec $(OBJ)Quaternion.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Quaternion.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Vector3D.c: src/gfx/3D/Vector3D.ec $(OBJ)Vector3D.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/3D/Vector3D.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)BMPFormat.c: src/gfx/bitmaps/BMPFormat.ec $(OBJ)BMPFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/BMPFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)GIFFormat.c: src/gfx/bitmaps/GIFFormat.ec $(OBJ)GIFFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/GIFFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)JPEGFormat.c: src/gfx/bitmaps/JPEGFormat.ec $(OBJ)JPEGFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/JPEGFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)PCXFormat.c: src/gfx/bitmaps/PCXFormat.ec $(OBJ)PCXFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/PCXFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)PNGFormat.c: src/gfx/bitmaps/PNGFormat.ec $(OBJ)PNGFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/PNGFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)RGBFormat.c: src/gfx/bitmaps/RGBFormat.ec $(OBJ)RGBFormat.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/RGBFormat.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ETC2Format.c: src/gfx/bitmaps/ETC2Format.ec $(OBJ)ETC2Format.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/bitmaps/ETC2Format.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)glab.c: src/gfx/drivers/gl3/glab.ec $(OBJ)glab.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/gl3/glab.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)immediate.c: src/gfx/drivers/gl3/immediate.ec $(OBJ)immediate.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/gl3/immediate.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)matrixStack.c: src/gfx/drivers/gl3/matrixStack.ec $(OBJ)matrixStack.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/gl3/matrixStack.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)shaders.c: src/gfx/drivers/gl3/shaders.ec $(OBJ)shaders.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/gl3/shaders.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)defaultShader.c: src/gfx/drivers/gl3/defaultShader.ec $(OBJ)defaultShader.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/gl3/defaultShader.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)GLMultiDraw.c: src/gfx/drivers/gl3/GLMultiDraw.ec $(OBJ)GLMultiDraw.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/gl3/GLMultiDraw.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)GDIDisplayDriver.c: src/gfx/drivers/GDIDisplayDriver.ec $(OBJ)GDIDisplayDriver.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/GDIDisplayDriver.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +$(OBJ)lfbBlit.c: src/gfx/drivers/lfbBlit.ec $(OBJ)lfbBlit.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/lfbBlit.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)lfbConvert.c: src/gfx/drivers/lfbConvert.ec $(OBJ)lfbConvert.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/lfbConvert.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)LFBDisplayDriver.c: src/gfx/drivers/LFBDisplayDriver.ec $(OBJ)LFBDisplayDriver.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/LFBDisplayDriver.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)NCursesDisplayDriver.c: src/gfx/drivers/NCursesDisplayDriver.ec $(OBJ)NCursesDisplayDriver.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/NCursesDisplayDriver.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +$(OBJ)OpenGLDisplayDriver.c: src/gfx/drivers/OpenGLDisplayDriver.ec $(OBJ)OpenGLDisplayDriver.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/OpenGLDisplayDriver.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaOpenGLDisplayDriver.c: src/gfx/drivers/CocoaOpenGLDisplayDriver.ec $(OBJ)CocoaOpenGLDisplayDriver.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM3_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/CocoaOpenGLDisplayDriver.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)XDisplayDriver.c: src/gfx/drivers/XDisplayDriver.ec $(OBJ)XDisplayDriver.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/drivers/XDisplayDriver.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +$(OBJ)atlasBuilder.c: src/gfx/newFonts/atlasBuilder.ec $(OBJ)atlasBuilder.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/newFonts/atlasBuilder.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)drawManager.c: src/gfx/newFonts/drawManager.ec $(OBJ)drawManager.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/newFonts/drawManager.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)fmFontManager.c: src/gfx/newFonts/fmFontManager.ec $(OBJ)fmFontManager.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/newFonts/fmFontManager.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)fontRenderer.c: src/gfx/newFonts/fontRenderer.ec $(OBJ)fontRenderer.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/newFonts/fontRenderer.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)textureManager.c: src/gfx/newFonts/textureManager.ec $(OBJ)textureManager.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/newFonts/textureManager.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Bitmap.c: src/gfx/Bitmap.ec $(OBJ)Bitmap.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/Bitmap.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)BitmapResource.c: src/gfx/BitmapResource.ec $(OBJ)BitmapResource.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/BitmapResource.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Color.c: src/gfx/Color.ec $(OBJ)Color.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/Color.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Display.c: src/gfx/Display.ec $(OBJ)Display.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/Display.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)DisplaySystem.c: src/gfx/DisplaySystem.ec $(OBJ)DisplaySystem.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/DisplaySystem.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)FontResource.c: src/gfx/FontResource.ec $(OBJ)FontResource.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/FontResource.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Resource.c: src/gfx/Resource.ec $(OBJ)Resource.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/Resource.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Surface.c: src/gfx/Surface.ec $(OBJ)Surface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/Surface.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)fontManagement.c: src/gfx/fontManagement.ec $(OBJ)fontManagement.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/fontManagement.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)fontRendering.c: src/gfx/fontRendering.ec $(OBJ)fontRendering.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/fontRendering.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)imgDistMap.c: src/gfx/imgDistMap.ec $(OBJ)imgDistMap.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gfx/imgDistMap.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Button.c: src/gui/controls/Button.ec $(OBJ)Button.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/Button.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)CalendarControl.c: src/gui/controls/CalendarControl.ec $(OBJ)CalendarControl.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/CalendarControl.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)DataBox.c: src/gui/controls/DataBox.ec $(OBJ)DataBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/DataBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)DropBox.c: src/gui/controls/DropBox.ec $(OBJ)DropBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/DropBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)EditBox.c: src/gui/controls/EditBox.ec $(OBJ)EditBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/EditBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Label.c: src/gui/controls/Label.ec $(OBJ)Label.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/Label.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ListBox.c: src/gui/controls/ListBox.ec $(OBJ)ListBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/ListBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Menu.c: src/gui/controls/Menu.ec $(OBJ)Menu.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/Menu.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Picture.c: src/gui/controls/Picture.ec $(OBJ)Picture.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/Picture.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ProgressBar.c: src/gui/controls/ProgressBar.ec $(OBJ)ProgressBar.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/ProgressBar.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ScrollBar.c: src/gui/controls/ScrollBar.ec $(OBJ)ScrollBar.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/ScrollBar.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)StatusBar.c: src/gui/controls/StatusBar.ec $(OBJ)StatusBar.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/StatusBar.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)TabControl.c: src/gui/controls/TabControl.ec $(OBJ)TabControl.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/TabControl.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)PaneSplitter.c: src/gui/controls/PaneSplitter.ec $(OBJ)PaneSplitter.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/PaneSplitter.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Stacker.c: src/gui/controls/Stacker.ec $(OBJ)Stacker.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/Stacker.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)PathBox.c: src/gui/controls/PathBox.ec $(OBJ)PathBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/PathBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ToolTip.c: src/gui/controls/ToolTip.ec $(OBJ)ToolTip.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/ToolTip.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)SelectorBar.c: src/gui/controls/SelectorBar.ec $(OBJ)SelectorBar.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/SelectorBar.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ColorPicker.c: src/gui/dialogs/ColorPicker.ec $(OBJ)ColorPicker.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/ColorPicker.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)FileDialog.c: src/gui/dialogs/FileDialog.ec $(OBJ)FileDialog.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/FileDialog.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)FindDialog.c: src/gui/dialogs/FindDialog.ec $(OBJ)FindDialog.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/FindDialog.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)GoToDialog.c: src/gui/dialogs/GoToDialog.ec $(OBJ)GoToDialog.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/GoToDialog.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)MessageBox.c: src/gui/dialogs/MessageBox.ec $(OBJ)MessageBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/MessageBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ReplaceDialog.c: src/gui/dialogs/ReplaceDialog.ec $(OBJ)ReplaceDialog.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/ReplaceDialog.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)WindowList.c: src/gui/dialogs/WindowList.ec $(OBJ)WindowList.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/dialogs/WindowList.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaDispatch.c: src/gui/drivers/cocoa/CocoaDispatch.ec $(OBJ)CocoaDispatch.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/drivers/cocoa/CocoaDispatch.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaInterface.c: src/gui/drivers/cocoa/CocoaInterface.ec $(OBJ)CocoaInterface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/drivers/cocoa/CocoaInterface.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)NCursesInterface.c: src/gui/drivers/NCursesInterface.ec $(OBJ)NCursesInterface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/drivers/NCursesInterface.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)Win32Interface.c: src/gui/drivers/Win32Interface.ec $(OBJ)Win32Interface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/drivers/Win32Interface.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)Win32ConsoleInterface.c: src/gui/drivers/Win32ConsoleInterface.ec $(OBJ)Win32ConsoleInterface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/drivers/Win32ConsoleInterface.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)XInterface.c: src/gui/drivers/XInterface.ec $(OBJ)XInterface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/drivers/XInterface.ec) -o $(call quote_path,$@) -symbols $(OBJ) +endif + +$(OBJ)TVisionSkin.c: src/gui/skins/TVisionSkin.ec $(OBJ)TVisionSkin.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/skins/TVisionSkin.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)WindowsSkin.c: src/gui/skins/WindowsSkin.ec $(OBJ)WindowsSkin.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/skins/WindowsSkin.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Anchor.c: src/gui/Anchor.ec $(OBJ)Anchor.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Anchor.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ClipBoard.c: src/gui/ClipBoard.ec $(OBJ)ClipBoard.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/ClipBoard.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Cursor.c: src/gui/Cursor.ec $(OBJ)Cursor.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Cursor.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Desktop3D.c: src/gui/Desktop3D.ec $(OBJ)Desktop3D.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Desktop3D.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)FormDesigner.c: src/gui/FormDesigner.ec $(OBJ)FormDesigner.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/FormDesigner.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)GuiApplication.c: src/gui/GuiApplication.ec $(OBJ)GuiApplication.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/GuiApplication.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Interface.c: src/gui/Interface.ec $(OBJ)Interface.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Interface.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Key.c: src/gui/Key.ec $(OBJ)Key.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Key.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Skin.c: src/gui/Skin.ec $(OBJ)Skin.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Skin.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Timer.c: src/gui/Timer.ec $(OBJ)Timer.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Timer.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)typeEdit.c: src/gui/typeEdit.ec $(OBJ)typeEdit.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/typeEdit.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Window.c: src/gui/Window.ec $(OBJ)Window.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/Window.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)dcom.c: src/net/dcom.ec $(OBJ)dcom.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/dcom.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)HTTPFile.c: src/net/HTTPFile.ec $(OBJ)HTTPFile.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/HTTPFile.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)network.c: src/net/network.ec $(OBJ)network.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/network.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)NetworkClientFile.c: src/net/NetworkClientFile.ec $(OBJ)NetworkClientFile.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/NetworkClientFile.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Service.c: src/net/Service.ec $(OBJ)Service.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/Service.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Socket.c: src/net/Socket.ec $(OBJ)Socket.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/Socket.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)SSLSocket.c: src/net/SSLSocket.ec $(OBJ)SSLSocket.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/net/SSLSocket.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Array.c: src/com/containers/Array.ec $(OBJ)Array.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/Array.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)AVLTree.c: src/com/containers/AVLTree.ec $(OBJ)AVLTree.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/AVLTree.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)BuiltInContainer.c: src/com/containers/BuiltInContainer.ec $(OBJ)BuiltInContainer.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/BuiltInContainer.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Container.c: src/com/containers/Container.ec $(OBJ)Container.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/Container.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)CustomAVLTree.c: src/com/containers/CustomAVLTree.ec $(OBJ)CustomAVLTree.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/CustomAVLTree.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)LinkList.c: src/com/containers/LinkList.ec $(OBJ)LinkList.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/LinkList.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)List.c: src/com/containers/List.ec $(OBJ)List.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/List.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)Map.c: src/com/containers/Map.ec $(OBJ)Map.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/Map.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)HashMap.c: src/com/containers/HashMap.ec $(OBJ)HashMap.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM5_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/HashMap.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)HashTable.c: src/com/containers/HashTable.ec $(OBJ)HashTable.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM5_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/containers/HashTable.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)BinaryTree.c: src/com/BinaryTree.ec $(OBJ)BinaryTree.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/BinaryTree.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)BTNode.c: src/com/BTNode.ec $(OBJ)BTNode.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/BTNode.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)dataTypes.c: src/com/dataTypes.ec $(OBJ)dataTypes.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/dataTypes.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)instance.c: src/com/instance.ec $(OBJ)instance.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/instance.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)String.c: src/com/String.ec $(OBJ)String.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/String.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)OldList.c: src/com/OldList.ec $(OBJ)OldList.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/com/OldList.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +# OBJECT RULES + +$(OBJ)Archive$(O): $(OBJ)Archive.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Archive.c) -o $(call quote_path,$@) + +$(OBJ)BufferedFile$(O): $(OBJ)BufferedFile.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)BufferedFile.c) -o $(call quote_path,$@) + +$(OBJ)Date$(O): $(OBJ)Date.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Date.c) -o $(call quote_path,$@) + +$(OBJ)DualPipe$(O): $(OBJ)DualPipe.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)DualPipe.c) -o $(call quote_path,$@) + +$(OBJ)EARArchive$(O): $(OBJ)EARArchive.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)EARArchive.c) -o $(call quote_path,$@) + +$(OBJ)File$(O): $(OBJ)File.c + $(CC) $(CFLAGS) $(CUSTOM1_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)File.c) -o $(call quote_path,$@) + +$(OBJ)FileMonitor$(O): $(OBJ)FileMonitor.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)FileMonitor.c) -o $(call quote_path,$@) + +$(OBJ)GlobalAppSettings$(O): $(OBJ)GlobalAppSettings.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)GlobalAppSettings.c) -o $(call quote_path,$@) + +$(OBJ)JSON$(O): $(OBJ)JSON.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)JSON.c) -o $(call quote_path,$@) + +$(OBJ)JSONGlobalSettings$(O): $(OBJ)JSONGlobalSettings.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)JSONGlobalSettings.c) -o $(call quote_path,$@) + +$(OBJ)memory$(O): $(OBJ)memory.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)memory.c) -o $(call quote_path,$@) + +$(OBJ)Mutex$(O): $(OBJ)Mutex.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Mutex.c) -o $(call quote_path,$@) + +$(OBJ)Semaphore$(O): $(OBJ)Semaphore.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Semaphore.c) -o $(call quote_path,$@) + +$(OBJ)System$(O): $(OBJ)System.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)System.c) -o $(call quote_path,$@) + +$(OBJ)TempFile$(O): $(OBJ)TempFile.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)TempFile.c) -o $(call quote_path,$@) + +$(OBJ)Thread$(O): $(OBJ)Thread.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Thread.c) -o $(call quote_path,$@) + +$(OBJ)Time$(O): $(OBJ)Time.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Time.c) -o $(call quote_path,$@) + +$(OBJ)unicode$(O): $(OBJ)unicode.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)unicode.c) -o $(call quote_path,$@) + +$(OBJ)units$(O): $(OBJ)units.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)units.c) -o $(call quote_path,$@) + +$(OBJ)File.c$(O): src/sys/File.c + $(CC) $(CFLAGS) $(CUSTOM1_PRJ_CFLAGS) -c $(call quote_path,src/sys/File.c) -o $(call quote_path,$@) + +$(OBJ)DualPipe.c$(O): src/sys/DualPipe.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/DualPipe.c) -o $(call quote_path,$@) + +$(OBJ)System.c$(O): src/sys/System.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/sys/System.c) -o $(call quote_path,$@) + +$(OBJ)i18n$(O): $(OBJ)i18n.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)i18n.c) -o $(call quote_path,$@) + +$(OBJ)Condition$(O): $(OBJ)Condition.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Condition.c) -o $(call quote_path,$@) + +$(OBJ)Cube$(O): $(OBJ)Cube.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Cube.c) -o $(call quote_path,$@) + +$(OBJ)SkyBox$(O): $(OBJ)SkyBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)SkyBox.c) -o $(call quote_path,$@) + +$(OBJ)Sphere$(O): $(OBJ)Sphere.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Sphere.c) -o $(call quote_path,$@) + +$(OBJ)Object3DSFormat$(O): $(OBJ)Object3DSFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Object3DSFormat.c) -o $(call quote_path,$@) + +$(OBJ)Tetrahedron$(O): $(OBJ)Tetrahedron.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Tetrahedron.c) -o $(call quote_path,$@) + +$(OBJ)TopoSort$(O): $(OBJ)TopoSort.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)TopoSort.c) -o $(call quote_path,$@) + +$(OBJ)DepthSort$(O): $(OBJ)DepthSort.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)DepthSort.c) -o $(call quote_path,$@) + +$(OBJ)Pool$(O): $(OBJ)Pool.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Pool.c) -o $(call quote_path,$@) + +$(OBJ)Camera$(O): $(OBJ)Camera.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Camera.c) -o $(call quote_path,$@) + +$(OBJ)Matrix$(O): $(OBJ)Matrix.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Matrix.c) -o $(call quote_path,$@) + +$(OBJ)Mesh$(O): $(OBJ)Mesh.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Mesh.c) -o $(call quote_path,$@) + +$(OBJ)Object$(O): $(OBJ)Object.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Object.c) -o $(call quote_path,$@) + +$(OBJ)Plane$(O): $(OBJ)Plane.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Plane.c) -o $(call quote_path,$@) + +$(OBJ)Quaternion$(O): $(OBJ)Quaternion.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Quaternion.c) -o $(call quote_path,$@) + +$(OBJ)Vector3D$(O): $(OBJ)Vector3D.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Vector3D.c) -o $(call quote_path,$@) + +$(OBJ)BMPFormat$(O): $(OBJ)BMPFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)BMPFormat.c) -o $(call quote_path,$@) + +$(OBJ)GIFFormat$(O): $(OBJ)GIFFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)GIFFormat.c) -o $(call quote_path,$@) + +$(OBJ)JPEGFormat$(O): $(OBJ)JPEGFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)JPEGFormat.c) -o $(call quote_path,$@) + +$(OBJ)PCXFormat$(O): $(OBJ)PCXFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)PCXFormat.c) -o $(call quote_path,$@) + +$(OBJ)PNGFormat$(O): $(OBJ)PNGFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)PNGFormat.c) -o $(call quote_path,$@) + +$(OBJ)RGBFormat$(O): $(OBJ)RGBFormat.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)RGBFormat.c) -o $(call quote_path,$@) + +$(OBJ)ETC2Format$(O): $(OBJ)ETC2Format.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ETC2Format.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-freetype$(O): src/gfx/drivers/harfbuzz/unicode/harfbuzz-freetype.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/unicode/harfbuzz-freetype.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-unicode-tables$(O): src/gfx/drivers/harfbuzz/unicode/harfbuzz-unicode-tables.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/unicode/harfbuzz-unicode-tables.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-unicode$(O): src/gfx/drivers/harfbuzz/unicode/harfbuzz-unicode.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/unicode/harfbuzz-unicode.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-arabic$(O): src/gfx/drivers/harfbuzz/harfbuzz-arabic.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-arabic.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-buffer$(O): src/gfx/drivers/harfbuzz/harfbuzz-buffer.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-buffer.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-gdef$(O): src/gfx/drivers/harfbuzz/harfbuzz-gdef.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-gdef.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-gpos$(O): src/gfx/drivers/harfbuzz/harfbuzz-gpos.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-gpos.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-gsub$(O): src/gfx/drivers/harfbuzz/harfbuzz-gsub.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-gsub.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-hangul$(O): src/gfx/drivers/harfbuzz/harfbuzz-hangul.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-hangul.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-hebrew$(O): src/gfx/drivers/harfbuzz/harfbuzz-hebrew.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-hebrew.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-indic$(O): src/gfx/drivers/harfbuzz/harfbuzz-indic.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-indic.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-khmer$(O): src/gfx/drivers/harfbuzz/harfbuzz-khmer.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-khmer.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-myanmar$(O): src/gfx/drivers/harfbuzz/harfbuzz-myanmar.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-myanmar.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-open$(O): src/gfx/drivers/harfbuzz/harfbuzz-open.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-open.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-shaper$(O): src/gfx/drivers/harfbuzz/harfbuzz-shaper.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-shaper.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-stream$(O): src/gfx/drivers/harfbuzz/harfbuzz-stream.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-stream.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-tibetan$(O): src/gfx/drivers/harfbuzz/harfbuzz-tibetan.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-tibetan.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-impl$(O): src/gfx/drivers/harfbuzz/harfbuzz-impl.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-impl.c) -o $(call quote_path,$@) + +$(OBJ)harfbuzz-thai$(O): src/gfx/drivers/harfbuzz/harfbuzz-thai.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/harfbuzz/harfbuzz-thai.c) -o $(call quote_path,$@) + +$(OBJ)glab$(O): $(OBJ)glab.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)glab.c) -o $(call quote_path,$@) + +$(OBJ)immediate$(O): $(OBJ)immediate.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)immediate.c) -o $(call quote_path,$@) + +$(OBJ)matrixStack$(O): $(OBJ)matrixStack.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)matrixStack.c) -o $(call quote_path,$@) + +$(OBJ)gl_compat_4_4$(O): src/gfx/drivers/gl3/gl_compat_4_4.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gfx/drivers/gl3/gl_compat_4_4.c) -o $(call quote_path,$@) + +$(OBJ)shaders$(O): $(OBJ)shaders.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)shaders.c) -o $(call quote_path,$@) + +$(OBJ)defaultShader$(O): $(OBJ)defaultShader.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)defaultShader.c) -o $(call quote_path,$@) + +$(OBJ)GLMultiDraw$(O): $(OBJ)GLMultiDraw.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)GLMultiDraw.c) -o $(call quote_path,$@) + +$(OBJ)QuickETC2Pak$(O): ../deps/etcpak/QuickETC2Pak.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,../deps/etcpak/QuickETC2Pak.c) -o $(call quote_path,$@) + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)GDIDisplayDriver$(O): $(OBJ)GDIDisplayDriver.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)GDIDisplayDriver.c) -o $(call quote_path,$@) +endif + +$(OBJ)lfbBlit$(O): $(OBJ)lfbBlit.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)lfbBlit.c) -o $(call quote_path,$@) + +$(OBJ)lfbConvert$(O): $(OBJ)lfbConvert.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)lfbConvert.c) -o $(call quote_path,$@) + +$(OBJ)LFBDisplayDriver$(O): $(OBJ)LFBDisplayDriver.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)LFBDisplayDriver.c) -o $(call quote_path,$@) + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)NCursesDisplayDriver$(O): $(OBJ)NCursesDisplayDriver.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)NCursesDisplayDriver.c) -o $(call quote_path,$@) +endif + +$(OBJ)OpenGLDisplayDriver$(O): $(OBJ)OpenGLDisplayDriver.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)OpenGLDisplayDriver.c) -o $(call quote_path,$@) + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaOpenGLDisplayDriver$(O): $(OBJ)CocoaOpenGLDisplayDriver.c + $(CC) $(CFLAGS) $(CUSTOM3_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)CocoaOpenGLDisplayDriver.c) -o $(call quote_path,$@) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)XDisplayDriver$(O): $(OBJ)XDisplayDriver.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)XDisplayDriver.c) -o $(call quote_path,$@) +endif + +$(OBJ)cc$(O): src/gfx/newFonts/cc/cc.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/cc/cc.c) -o $(call quote_path,$@) + +$(OBJ)mm$(O): src/gfx/newFonts/cc/mm.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/cc/mm.c) -o $(call quote_path,$@) + +$(OBJ)ccstr$(O): src/gfx/newFonts/cc/ccstr.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/cc/ccstr.c) -o $(call quote_path,$@) + +$(OBJ)mmhash$(O): src/gfx/newFonts/cc/mmhash.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) -c $(call quote_path,src/gfx/newFonts/cc/mmhash.c) -o $(call quote_path,$@) + +$(OBJ)atlasBuilder$(O): $(OBJ)atlasBuilder.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)atlasBuilder.c) -o $(call quote_path,$@) + +$(OBJ)drawManager$(O): $(OBJ)drawManager.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)drawManager.c) -o $(call quote_path,$@) + +$(OBJ)fmFontManager$(O): $(OBJ)fmFontManager.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)fmFontManager.c) -o $(call quote_path,$@) + +$(OBJ)fontRenderer$(O): $(OBJ)fontRenderer.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)fontRenderer.c) -o $(call quote_path,$@) + +$(OBJ)textureManager$(O): $(OBJ)textureManager.c + $(CC) $(CFLAGS) $(CUSTOM4_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)textureManager.c) -o $(call quote_path,$@) + +$(OBJ)Bitmap$(O): $(OBJ)Bitmap.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Bitmap.c) -o $(call quote_path,$@) + +$(OBJ)BitmapResource$(O): $(OBJ)BitmapResource.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)BitmapResource.c) -o $(call quote_path,$@) + +$(OBJ)Color$(O): $(OBJ)Color.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Color.c) -o $(call quote_path,$@) + +$(OBJ)Display$(O): $(OBJ)Display.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Display.c) -o $(call quote_path,$@) + +$(OBJ)DisplaySystem$(O): $(OBJ)DisplaySystem.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)DisplaySystem.c) -o $(call quote_path,$@) + +$(OBJ)FontResource$(O): $(OBJ)FontResource.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)FontResource.c) -o $(call quote_path,$@) + +$(OBJ)Resource$(O): $(OBJ)Resource.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Resource.c) -o $(call quote_path,$@) + +$(OBJ)Surface$(O): $(OBJ)Surface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Surface.c) -o $(call quote_path,$@) + +$(OBJ)fontManagement$(O): $(OBJ)fontManagement.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)fontManagement.c) -o $(call quote_path,$@) + +$(OBJ)fontRendering$(O): $(OBJ)fontRendering.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)fontRendering.c) -o $(call quote_path,$@) + +$(OBJ)imgDistMap$(O): $(OBJ)imgDistMap.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)imgDistMap.c) -o $(call quote_path,$@) + +$(OBJ)Button$(O): $(OBJ)Button.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Button.c) -o $(call quote_path,$@) + +$(OBJ)CalendarControl$(O): $(OBJ)CalendarControl.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)CalendarControl.c) -o $(call quote_path,$@) + +$(OBJ)DataBox$(O): $(OBJ)DataBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)DataBox.c) -o $(call quote_path,$@) + +$(OBJ)DropBox$(O): $(OBJ)DropBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)DropBox.c) -o $(call quote_path,$@) + +$(OBJ)EditBox$(O): $(OBJ)EditBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)EditBox.c) -o $(call quote_path,$@) + +$(OBJ)Label$(O): $(OBJ)Label.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Label.c) -o $(call quote_path,$@) + +$(OBJ)ListBox$(O): $(OBJ)ListBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ListBox.c) -o $(call quote_path,$@) + +$(OBJ)Menu$(O): $(OBJ)Menu.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Menu.c) -o $(call quote_path,$@) + +$(OBJ)Picture$(O): $(OBJ)Picture.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Picture.c) -o $(call quote_path,$@) + +$(OBJ)ProgressBar$(O): $(OBJ)ProgressBar.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ProgressBar.c) -o $(call quote_path,$@) + +$(OBJ)ScrollBar$(O): $(OBJ)ScrollBar.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ScrollBar.c) -o $(call quote_path,$@) + +$(OBJ)StatusBar$(O): $(OBJ)StatusBar.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)StatusBar.c) -o $(call quote_path,$@) + +$(OBJ)TabControl$(O): $(OBJ)TabControl.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)TabControl.c) -o $(call quote_path,$@) + +$(OBJ)PaneSplitter$(O): $(OBJ)PaneSplitter.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)PaneSplitter.c) -o $(call quote_path,$@) + +$(OBJ)Stacker$(O): $(OBJ)Stacker.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Stacker.c) -o $(call quote_path,$@) + +$(OBJ)PathBox$(O): $(OBJ)PathBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)PathBox.c) -o $(call quote_path,$@) + +$(OBJ)ToolTip$(O): $(OBJ)ToolTip.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ToolTip.c) -o $(call quote_path,$@) + +$(OBJ)SelectorBar$(O): $(OBJ)SelectorBar.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)SelectorBar.c) -o $(call quote_path,$@) + +$(OBJ)ColorPicker$(O): $(OBJ)ColorPicker.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ColorPicker.c) -o $(call quote_path,$@) + +$(OBJ)FileDialog$(O): $(OBJ)FileDialog.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)FileDialog.c) -o $(call quote_path,$@) + +$(OBJ)FindDialog$(O): $(OBJ)FindDialog.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)FindDialog.c) -o $(call quote_path,$@) + +$(OBJ)GoToDialog$(O): $(OBJ)GoToDialog.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)GoToDialog.c) -o $(call quote_path,$@) + +$(OBJ)MessageBox$(O): $(OBJ)MessageBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)MessageBox.c) -o $(call quote_path,$@) + +$(OBJ)ReplaceDialog$(O): $(OBJ)ReplaceDialog.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ReplaceDialog.c) -o $(call quote_path,$@) + +$(OBJ)WindowList$(O): $(OBJ)WindowList.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)WindowList.c) -o $(call quote_path,$@) + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaDispatch$(O): $(OBJ)CocoaDispatch.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)CocoaDispatch.c) -o $(call quote_path,$@) +endif + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaEcereBridge$(O): src/gui/drivers/cocoa/CocoaEcereBridge.m + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/cocoa/CocoaEcereBridge.m) -o $(call quote_path,$@) +endif + +ifneq ($(OSX_TARGET),) +$(OBJ)CocoaInterface$(O): $(OBJ)CocoaInterface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)CocoaInterface.c) -o $(call quote_path,$@) +endif + +ifneq ($(OSX_TARGET),) +$(OBJ)EcereView$(O): src/gui/drivers/cocoa/EcereView.m + $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/drivers/cocoa/EcereView.m) -o $(call quote_path,$@) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)NCursesInterface$(O): $(OBJ)NCursesInterface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)NCursesInterface.c) -o $(call quote_path,$@) +endif + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)Win32Interface$(O): $(OBJ)Win32Interface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Win32Interface.c) -o $(call quote_path,$@) +endif + +ifneq ($(WINDOWS_TARGET),) +$(OBJ)Win32ConsoleInterface$(O): $(OBJ)Win32ConsoleInterface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Win32ConsoleInterface.c) -o $(call quote_path,$@) +endif + +ifneq ($(or $(LINUX_TARGET),$(OSX_TARGET)),) +$(OBJ)XInterface$(O): $(OBJ)XInterface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)XInterface.c) -o $(call quote_path,$@) +endif + +$(OBJ)TVisionSkin$(O): $(OBJ)TVisionSkin.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)TVisionSkin.c) -o $(call quote_path,$@) + +$(OBJ)WindowsSkin$(O): $(OBJ)WindowsSkin.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)WindowsSkin.c) -o $(call quote_path,$@) + +$(OBJ)Anchor$(O): $(OBJ)Anchor.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Anchor.c) -o $(call quote_path,$@) + +$(OBJ)ClipBoard$(O): $(OBJ)ClipBoard.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ClipBoard.c) -o $(call quote_path,$@) + +$(OBJ)Cursor$(O): $(OBJ)Cursor.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Cursor.c) -o $(call quote_path,$@) + +$(OBJ)Desktop3D$(O): $(OBJ)Desktop3D.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Desktop3D.c) -o $(call quote_path,$@) + +$(OBJ)FormDesigner$(O): $(OBJ)FormDesigner.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)FormDesigner.c) -o $(call quote_path,$@) + +$(OBJ)GuiApplication$(O): $(OBJ)GuiApplication.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)GuiApplication.c) -o $(call quote_path,$@) + +$(OBJ)Interface$(O): $(OBJ)Interface.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Interface.c) -o $(call quote_path,$@) + +$(OBJ)Key$(O): $(OBJ)Key.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Key.c) -o $(call quote_path,$@) + +$(OBJ)Skin$(O): $(OBJ)Skin.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Skin.c) -o $(call quote_path,$@) + +$(OBJ)Timer$(O): $(OBJ)Timer.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Timer.c) -o $(call quote_path,$@) + +$(OBJ)typeEdit$(O): $(OBJ)typeEdit.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)typeEdit.c) -o $(call quote_path,$@) + +$(OBJ)Window$(O): $(OBJ)Window.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Window.c) -o $(call quote_path,$@) + +$(OBJ)dcom$(O): $(OBJ)dcom.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)dcom.c) -o $(call quote_path,$@) + +$(OBJ)HTTPFile$(O): $(OBJ)HTTPFile.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)HTTPFile.c) -o $(call quote_path,$@) + +$(OBJ)network$(O): $(OBJ)network.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)network.c) -o $(call quote_path,$@) + +$(OBJ)NetworkClientFile$(O): $(OBJ)NetworkClientFile.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)NetworkClientFile.c) -o $(call quote_path,$@) + +$(OBJ)Service$(O): $(OBJ)Service.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Service.c) -o $(call quote_path,$@) + +$(OBJ)Socket$(O): $(OBJ)Socket.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Socket.c) -o $(call quote_path,$@) + +$(OBJ)SSLSocket$(O): $(OBJ)SSLSocket.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)SSLSocket.c) -o $(call quote_path,$@) + +$(OBJ)Array$(O): $(OBJ)Array.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Array.c) -o $(call quote_path,$@) + +$(OBJ)AVLTree$(O): $(OBJ)AVLTree.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)AVLTree.c) -o $(call quote_path,$@) + +$(OBJ)BuiltInContainer$(O): $(OBJ)BuiltInContainer.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)BuiltInContainer.c) -o $(call quote_path,$@) + +$(OBJ)Container$(O): $(OBJ)Container.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Container.c) -o $(call quote_path,$@) + +$(OBJ)CustomAVLTree$(O): $(OBJ)CustomAVLTree.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)CustomAVLTree.c) -o $(call quote_path,$@) + +$(OBJ)LinkList$(O): $(OBJ)LinkList.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)LinkList.c) -o $(call quote_path,$@) + +$(OBJ)List$(O): $(OBJ)List.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)List.c) -o $(call quote_path,$@) + +$(OBJ)Map$(O): $(OBJ)Map.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)Map.c) -o $(call quote_path,$@) + +$(OBJ)HashMap$(O): $(OBJ)HashMap.c + $(CC) $(CFLAGS) $(CUSTOM5_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)HashMap.c) -o $(call quote_path,$@) + +$(OBJ)HashTable$(O): $(OBJ)HashTable.c + $(CC) $(CFLAGS) $(CUSTOM5_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)HashTable.c) -o $(call quote_path,$@) + +$(OBJ)BinaryTree$(O): $(OBJ)BinaryTree.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)BinaryTree.c) -o $(call quote_path,$@) + +$(OBJ)BTNode$(O): $(OBJ)BTNode.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)BTNode.c) -o $(call quote_path,$@) + +$(OBJ)dataTypes$(O): $(OBJ)dataTypes.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)dataTypes.c) -o $(call quote_path,$@) + +$(OBJ)instance$(O): $(OBJ)instance.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)instance.c) -o $(call quote_path,$@) + +$(OBJ)String$(O): $(OBJ)String.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)String.c) -o $(call quote_path,$@) + +$(OBJ)OldList$(O): $(OBJ)OldList.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)OldList.c) -o $(call quote_path,$@) + +$(OBJ)instance.c$(O): src/com/instance.c + $(CC) $(CFLAGS) $(CUSTOM2_PRJ_CFLAGS) -c $(call quote_path,src/com/instance.c) -o $(call quote_path,$@) + +$(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(call quote_path,$@) + +cleantarget: + $(call rm,$(OBJ)$(MODULE).main$(O) $(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S)) + $(call rm,$(OBJ)symbols.lst) + $(call rm,$(OBJ)objects.lst) + $(call rm,$(TARGET)) +ifdef SHARED_LIBRARY_TARGET +ifdef LINUX_TARGET +ifdef LINUX_HOST + $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)$(basename $(VER))) + $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)) +endif +endif +endif + +clean: cleantarget + $(call rm,$(_OBJECTS1)) + $(call rm,$(_OBJECTS2)) + $(call rm,$(_ECOBJECTS1)) + $(call rm,$(_ECOBJECTS2)) + $(call rm,$(_ECOBJECTS3)) + $(call rm,$(_COBJECTS1)) + $(call rm,$(_COBJECTS2)) + $(call rm,$(_COBJECTS3)) + $(call rm,$(_BOWLS1)) + $(call rm,$(_BOWLS2)) + $(call rm,$(_BOWLS3)) + $(call rm,$(_IMPORTS1)) + $(call rm,$(_IMPORTS2)) + $(call rm,$(_IMPORTS3)) + $(call rm,$(_SYMBOLS1)) + $(call rm,$(_SYMBOLS2)) + $(call rm,$(_SYMBOLS3)) +ifdef USE_RESOURCES_EAR + $(call rm,$(RESOURCES_EAR)) +endif + +realclean: cleantarget + $(call rmr,$(OBJ)) + +wipeclean: cleantarget + $(call rmr,obj/) + +distclean: cleantarget + $(_MAKE) -f $(_CF_DIR)Cleanfile distclean distclean_all_subdirs + +$(MAKEFILE_LIST): ; +$(SOURCES): ; +$(RESOURCES): ; diff --git a/ecere/ecere.epj b/ecere/ecere.epj index 956d4de31d..e06315f405 100644 --- a/ecere/ecere.epj +++ b/ecere/ecere.epj @@ -234,6 +234,13 @@ "z", "freetype" ], + "CompilerOptions" : [ + "-mmmx", + "-msse", + "-msse2", + "-msse3", + "-msse4" + ], "Compress" : true, "FastMath" : true } diff --git a/eda/Makefile b/eda/Makefile index 13bdde8a69..e54ce8126f 100644 --- a/eda/Makefile +++ b/eda/Makefile @@ -10,6 +10,10 @@ ifndef DISABLE_EDA_SQLITE EDAdBASE := defined endif +ifndef DISABLE_STATIC + EDA_STATIC := defined +endif + .PHONY: all cleantarget clean realclean wipeclean distclean _CF_DIR = ../ @@ -34,6 +38,13 @@ ifdef EDASQLiteCipher @$(call echo,Building EDASQLiteCipher driver...) +cd drivers && cd sqliteCipher && $(_MAKE) endif +ifdef EDA_STATIC + @$(call echo,Building Static EDA libraries...) + +cd libeda && $(_MAKE) -f Makefile.static +ifdef EDASQLite + +cd drivers && cd sqlite && $(_MAKE) -f Makefile.static +endif +endif cleantarget: +cd libeda && $(_MAKE) cleantarget @@ -46,6 +57,10 @@ endif ifdef EDASQLiteCipher +cd drivers && cd sqliteCipher && $(_MAKE) cleantarget endif +ifdef EDA_STATIC + +cd libeda && $(_MAKE) -f Makefile.static cleantarget + +cd drivers && cd sqlite && $(_MAKE) -f Makefile.static cleantarget +endif clean: +cd libeda && $(_MAKE) clean @@ -58,6 +73,10 @@ endif ifdef EDASQLiteCipher +cd drivers && cd sqliteCipher && $(_MAKE) clean endif +ifdef EDA_STATIC + +cd libeda && $(_MAKE) -f Makefile.static clean + +cd drivers && cd sqlite && $(_MAKE) -f Makefile.static clean +endif realclean: +cd libeda && $(_MAKE) realclean @@ -70,12 +89,18 @@ endif ifdef EDASQLiteCipher +cd drivers && cd sqliteCipher && $(_MAKE) realclean endif +ifdef EDA_STATIC + +cd libeda && $(_MAKE) -f Makefile.static realclean + +cd drivers && cd sqlite && $(_MAKE) -f Makefile.static realclean +endif wipeclean: +cd libeda && $(_MAKE) wipeclean +cd drivers && cd dbase && $(_MAKE) wipeclean +cd drivers && cd sqlite && $(_MAKE) wipeclean +cd drivers && cd sqliteCipher && $(_MAKE) wipeclean + +cd libeda && $(_MAKE) -f Makefile.static wipeclean + +cd drivers && cd sqlite && $(_MAKE) -f Makefile.static wipeclean distclean: $(_MAKE) -f $(_CF_DIR)Cleanfile distclean distclean_all_subdirs diff --git a/eda/drivers/dbase/EDAdBASE.epj b/eda/drivers/dbase/EDAdBASE.epj index 9f61d1aeaf..5bd948cc39 100644 --- a/eda/drivers/dbase/EDAdBASE.epj +++ b/eda/drivers/dbase/EDAdBASE.epj @@ -38,6 +38,7 @@ "ECERE_STATIC" ], "TargetType" : "StaticLibrary", + "TargetFileName" : "EDAdBASEStatic", "FastMath" : true } }, diff --git a/eda/drivers/sqlite/Makefile.static b/eda/drivers/sqlite/Makefile.static new file mode 100644 index 0000000000..7a3e127358 --- /dev/null +++ b/eda/drivers/sqlite/Makefile.static @@ -0,0 +1,269 @@ +ifneq ($(V),1) +.SILENT: +endif + +.PHONY: all objdir cleantarget clean realclean wipeclean distclean + +# CORE VARIABLES + +MODULE := EDASQLite +VERSION := 0.44 +CONFIG := static +ifndef COMPILER +COMPILER := default +endif + +TARGET_TYPE = staticlib + +# FLAGS + +ECFLAGS = +ifndef DEBIAN_PACKAGE +CFLAGS = +LDFLAGS = +endif +PRJ_CFLAGS = +CECFLAGS = +OFLAGS = +LIBS = + +ifdef DEBUG +NOSTRIP := y +endif + +CONSOLE = -mwindows + +# INCLUDES + +_CF_DIR = ../../../ + +include $(_CF_DIR)crossplatform.mk +include $(_CF_DIR)default.cf + +# POST-INCLUDES VARIABLES + +OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ + +RES = + +TARGET_NAME := EDASQLiteStatic + +TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)$(TARGET_NAME)$(OUT) + +_ECSOURCES = \ + EDASQLite.ec \ + sqliteDB.ec + +ECSOURCES = $(call shwspace,$(_ECSOURCES)) + +_COBJECTS = $(addprefix $(OBJ),$(patsubst %.ec,%$(C),$(notdir $(_ECSOURCES)))) + +_SYMBOLS = $(addprefix $(OBJ),$(patsubst %.ec,%$(S),$(notdir $(_ECSOURCES)))) + +_IMPORTS = $(addprefix $(OBJ),$(patsubst %.ec,%$(I),$(notdir $(_ECSOURCES)))) + +_ECOBJECTS = $(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(_ECSOURCES)))) + +_BOWLS = $(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES)))) + +COBJECTS = $(call shwspace,$(_COBJECTS)) + +SYMBOLS = $(call shwspace,$(_SYMBOLS)) + +IMPORTS = $(call shwspace,$(_IMPORTS)) + +ECOBJECTS = $(call shwspace,$(_ECOBJECTS)) + +BOWLS = $(call shwspace,$(_BOWLS)) + +_OBJECTS = \ + $(if $(LINUX_TARGET),,$(OBJ)sqlite3$(O)) + +OBJECTS = $(_OBJECTS) $(ECOBJECTS) $(OBJ)$(MODULE).main$(O) + +SOURCES = $(ECSOURCES) \ + $(if $(LINUX_TARGET),,../../../deps/sqlite-3.41.0/sqlite3.c) + +RESOURCES = \ + locale/es.mo \ + locale/he.mo \ + locale/pt_BR.mo \ + locale/ru.mo \ + locale/zh_CN.mo + +LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT) + +ifndef STATIC_LIBRARY_TARGET +LIBS += \ + $(call _L,ecere) \ + $(call _L,ffi) +endif + +PRJ_CFLAGS += \ + $(if $(WINDOWS_TARGET), \ + -I../../../deps/libffi-3.4.4/i686-w64-mingw32/include \ + -I../../../deps/sqlite-3.41.0,) \ + $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -Wall -DREPOSITORY_VERSION="\"$(REPOSITORY_VER)\"" \ + -DECERE_STATIC \ + -DSQLITE_DEFAULT_LOCKING_MODE=1 \ + -DSQLITE_ENABLE_RTREE=1 \ + -DSQLITE_OMIT_AUTHORIZATION + +CUSTOM1_PRJ_CFLAGS = \ + $(if $(WINDOWS_TARGET), \ + -I../../../deps/libffi-3.4.4/i686-w64-mingw32/include \ + -I../../../deps/sqlite-3.41.0,) \ + $(if $(DEBUG), -g, -O2) $(FPIC) -Wall -DREPOSITORY_VERSION="\"$(REPOSITORY_VER)\"" \ + -DECERE_STATIC \ + -DSQLITE_DEFAULT_LOCKING_MODE=1 \ + -DSQLITE_ENABLE_RTREE=1 \ + -DSQLITE_OMIT_AUTHORIZATION + +ECFLAGS += -module $(MODULE) +ECFLAGS += \ + -nolinenumbers + +# PLATFORM-SPECIFIC OPTIONS + +ifdef WINDOWS_TARGET + +ifndef STATIC_LIBRARY_TARGET +OFLAGS += \ + -L../../../deps/libffi-3.4.4/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) +LIBS += \ + $(call _L,gnurx-0) +endif + +else +ifdef LINUX_TARGET + +# To fix libffi build problem on Oneiric/amd64 +CFLAGS += \ + -I/usr/include/i686-linux-gnu + +ifndef STATIC_LIBRARY_TARGET +LIBS += \ + $(call _L,pthread) \ + $(call _L,dl) \ + $(call _L,sqlite3) +endif + +else +ifdef OSX_TARGET + +ifndef STATIC_LIBRARY_TARGET +LIBS += \ + $(call _L,pthread) \ + $(call _L,dl) +endif + +endif +endif +endif + +CFLAGS += \ + -mmmx -msse -msse2 -msse3 -msse4 + +CECFLAGS += -cpp $(_CPP) + +# TARGETS + +all: objdir $(TARGET) + +objdir: + $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ))) + $(if $(ECERE_SDK_SRC),$(if $(wildcard $(call escspace,$(ECERE_SDK_SRC)/crossplatform.mk)),,@$(call echo,Ecere SDK Source Warning: The value of ECERE_SDK_SRC is pointing to an incorrect ($(ECERE_SDK_SRC)) location.)),) + $(if $(ECERE_SDK_SRC),,$(if $(ECP_DEBUG)$(ECC_DEBUG)$(ECS_DEBUG),@$(call echo,ECC Debug Warning: Please define ECERE_SDK_SRC before using ECP_DEBUG, ECC_DEBUG or ECS_DEBUG),)) + +$(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS) + @$(call rm,$(OBJ)symbols.lst) + @$(call touch,$(OBJ)symbols.lst) + $(call addtolistfile,$(SYMBOLS),$(OBJ)symbols.lst) + $(call addtolistfile,$(IMPORTS),$(OBJ)symbols.lst) + $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) @$(OBJ)symbols.lst -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(call quote_path,$@) + +$(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.ec -o $(call quote_path,$@) -symbols $(OBJ) + +$(SYMBOLS): | objdir +$(OBJECTS): | objdir +$(TARGET): $(SOURCES) $(RESOURCES_EAR) $(SYMBOLS) $(OBJECTS) | objdir + @$(call rm,$(OBJ)objects.lst) + @$(call touch,$(OBJ)objects.lst) + $(call addtolistfile,$(_OBJECTS),$(OBJ)objects.lst) + $(call addtolistfile,$(OBJ)$(MODULE).main$(O),$(OBJ)objects.lst) + $(call addtolistfile,$(ECOBJECTS),$(OBJ)objects.lst) +ifdef WINDOWS_HOST + $(AR) rcs $(TARGET) @$(OBJ)objects.lst $(LIBS) +else + $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS) +endif + $(call cp,$(TARGET),../../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/) + +# SYMBOL RULES + +$(OBJ)EDASQLite.sym: EDASQLite.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,EDASQLite.ec) -o $(call quote_path,$@) + +$(OBJ)sqliteDB.sym: sqliteDB.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,sqliteDB.ec) -o $(call quote_path,$@) + +# C OBJECT RULES + +$(OBJ)EDASQLite.c: EDASQLite.ec $(OBJ)EDASQLite.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,EDASQLite.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)sqliteDB.c: sqliteDB.ec $(OBJ)sqliteDB.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,sqliteDB.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +# OBJECT RULES + +ifneq ($(or $(WINDOWS_TARGET),$(OSX_TARGET)),) +$(OBJ)sqlite3$(O): ../../../deps/sqlite-3.41.0/sqlite3.c + $(CC) $(CFLAGS) $(CUSTOM1_PRJ_CFLAGS) -c $(call quote_path,../../../deps/sqlite-3.41.0/sqlite3.c) -o $(call quote_path,$@) +endif + +$(OBJ)EDASQLite$(O): $(OBJ)EDASQLite.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)EDASQLite.c) -o $(call quote_path,$@) + +$(OBJ)sqliteDB$(O): $(OBJ)sqliteDB.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)sqliteDB.c) -o $(call quote_path,$@) + +$(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(call quote_path,$@) + +cleantarget: + $(call rm,$(OBJ)$(MODULE).main$(O) $(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S)) + $(call rm,$(OBJ)symbols.lst) + $(call rm,$(OBJ)objects.lst) + $(call rm,$(TARGET)) +ifdef SHARED_LIBRARY_TARGET +ifdef LINUX_TARGET +ifdef LINUX_HOST + $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)$(basename $(VER))) + $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)) +endif +endif +endif + +clean: cleantarget + $(call rm,$(_OBJECTS)) + $(call rm,$(_ECOBJECTS)) + $(call rm,$(_COBJECTS)) + $(call rm,$(_BOWLS)) + $(call rm,$(_IMPORTS)) + $(call rm,$(_SYMBOLS)) + +realclean: cleantarget + $(call rmr,$(OBJ)) + +wipeclean: cleantarget + $(call rmr,obj/) + +distclean: cleantarget + $(_MAKE) -f $(_CF_DIR)Cleanfile distclean distclean_all_subdirs + +$(MAKEFILE_LIST): ; +$(SOURCES): ; +$(RESOURCES): ; diff --git a/eda/libeda/Makefile.static b/eda/libeda/Makefile.static new file mode 100644 index 0000000000..0e516d281d --- /dev/null +++ b/eda/libeda/Makefile.static @@ -0,0 +1,295 @@ +ifneq ($(V),1) +.SILENT: +endif + +.PHONY: all objdir cleantarget clean realclean wipeclean distclean + +# CORE VARIABLES + +MODULE := EDA +VERSION := 0.44 +CONFIG := static +ifndef COMPILER +COMPILER := default +endif + +TARGET_TYPE = staticlib + +# FLAGS + +ECFLAGS = +ifndef DEBIAN_PACKAGE +CFLAGS = +LDFLAGS = +endif +PRJ_CFLAGS = +CECFLAGS = +OFLAGS = +LIBS = + +ifdef DEBUG +NOSTRIP := y +endif + +CONSOLE = -mwindows + +# INCLUDES + +_CF_DIR = ../../ + +include $(_CF_DIR)crossplatform.mk +include $(_CF_DIR)default.cf + +# POST-INCLUDES VARIABLES + +OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ + +RES = + +TARGET_NAME := EDAStatic + +TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)$(TARGET_NAME)$(OUT) + +_ECSOURCES = \ + src/DirFilesDataSource.ec \ + src/EDB.ec \ + src/MemoryEDB.ec \ + src/gui/controls/FieldBox.ec \ + src/gui/TableEditor.ec \ + src/EDA.ec \ + src/ers.ec \ + src/gui.ec \ + src/idList.ec \ + src/fieldValue.ec + +ECSOURCES = $(call shwspace,$(_ECSOURCES)) + +_COBJECTS = $(addprefix $(OBJ),$(patsubst %.ec,%$(C),$(notdir $(_ECSOURCES)))) + +_SYMBOLS = $(addprefix $(OBJ),$(patsubst %.ec,%$(S),$(notdir $(_ECSOURCES)))) + +_IMPORTS = $(addprefix $(OBJ),$(patsubst %.ec,%$(I),$(notdir $(_ECSOURCES)))) + +_ECOBJECTS = $(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(_ECSOURCES)))) + +_BOWLS = $(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES)))) + +COBJECTS = $(call shwspace,$(_COBJECTS)) + +SYMBOLS = $(call shwspace,$(_SYMBOLS)) + +IMPORTS = $(call shwspace,$(_IMPORTS)) + +ECOBJECTS = $(call shwspace,$(_ECOBJECTS)) + +BOWLS = $(call shwspace,$(_BOWLS)) + +OBJECTS = $(ECOBJECTS) $(OBJ)$(MODULE).main$(O) + +SOURCES = $(ECSOURCES) + +RESOURCES = \ + locale/es.mo \ + locale/he.mo \ + locale/ru.mo \ + locale/zh_CN.mo + +LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT) + +PRJ_CFLAGS += \ + $(if $(WINDOWS_TARGET), \ + -I../../deps/libffi-3.0.11/i686-pc-mingw32/include,) \ + $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -Wall -DREPOSITORY_VERSION="\"$(REPOSITORY_VER)\"" \ + -DECERE_STATIC + +ECFLAGS += -module $(MODULE) +ECFLAGS += \ + -defaultns eda + +# PLATFORM-SPECIFIC OPTIONS + +ifdef WINDOWS_TARGET + +endif + +CFLAGS += \ + -mmmx -msse -msse2 -msse3 -msse4 + +ifdef LINUX_TARGET +# To fix libffi build problem on Oneiric/amd64 +CFLAGS += \ + -I/usr/include/i686-linux-gnu + +endif + +CECFLAGS += -cpp $(_CPP) + +ifndef STATIC_LIBRARY_TARGET +OFLAGS += \ + -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \ + -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib +endif + +# TARGETS + +all: objdir $(TARGET) + +objdir: + $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ))) + $(if $(ECERE_SDK_SRC),$(if $(wildcard $(call escspace,$(ECERE_SDK_SRC)/crossplatform.mk)),,@$(call echo,Ecere SDK Source Warning: The value of ECERE_SDK_SRC is pointing to an incorrect ($(ECERE_SDK_SRC)) location.)),) + $(if $(ECERE_SDK_SRC),,$(if $(ECP_DEBUG)$(ECC_DEBUG)$(ECS_DEBUG),@$(call echo,ECC Debug Warning: Please define ECERE_SDK_SRC before using ECP_DEBUG, ECC_DEBUG or ECS_DEBUG),)) + +$(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS) + @$(call rm,$(OBJ)symbols.lst) + @$(call touch,$(OBJ)symbols.lst) + $(call addtolistfile,$(SYMBOLS),$(OBJ)symbols.lst) + $(call addtolistfile,$(IMPORTS),$(OBJ)symbols.lst) + $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) @$(OBJ)symbols.lst -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(call quote_path,$@) + +$(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.ec -o $(call quote_path,$@) -symbols $(OBJ) + +$(SYMBOLS): | objdir +$(OBJECTS): | objdir +$(TARGET): $(SOURCES) $(RESOURCES_EAR) $(SYMBOLS) $(OBJECTS) | objdir + @$(call rm,$(OBJ)objects.lst) + @$(call touch,$(OBJ)objects.lst) + $(call addtolistfile,$(OBJ)$(MODULE).main$(O),$(OBJ)objects.lst) + $(call addtolistfile,$(ECOBJECTS),$(OBJ)objects.lst) + $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS) + $(call cp,$(TARGET),../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/) + +# SYMBOL RULES + +$(OBJ)DirFilesDataSource.sym: src/DirFilesDataSource.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/DirFilesDataSource.ec) -o $(call quote_path,$@) + +$(OBJ)EDB.sym: src/EDB.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/EDB.ec) -o $(call quote_path,$@) + +$(OBJ)MemoryEDB.sym: src/MemoryEDB.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/MemoryEDB.ec) -o $(call quote_path,$@) + +$(OBJ)FieldBox.sym: src/gui/controls/FieldBox.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/controls/FieldBox.ec) -o $(call quote_path,$@) + +$(OBJ)TableEditor.sym: src/gui/TableEditor.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui/TableEditor.ec) -o $(call quote_path,$@) + +$(OBJ)EDA.sym: src/EDA.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/EDA.ec) -o $(call quote_path,$@) + +$(OBJ)ers.sym: src/ers.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/ers.ec) -o $(call quote_path,$@) + +$(OBJ)gui.sym: src/gui.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/gui.ec) -o $(call quote_path,$@) + +$(OBJ)idList.sym: src/idList.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/idList.ec) -o $(call quote_path,$@) + +$(OBJ)fieldValue.sym: src/fieldValue.ec + $(ECP) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,src/fieldValue.ec) -o $(call quote_path,$@) + +# C OBJECT RULES + +$(OBJ)DirFilesDataSource.c: src/DirFilesDataSource.ec $(OBJ)DirFilesDataSource.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/DirFilesDataSource.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)EDB.c: src/EDB.ec $(OBJ)EDB.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/EDB.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)MemoryEDB.c: src/MemoryEDB.ec $(OBJ)MemoryEDB.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/MemoryEDB.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)FieldBox.c: src/gui/controls/FieldBox.ec $(OBJ)FieldBox.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/controls/FieldBox.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)TableEditor.c: src/gui/TableEditor.ec $(OBJ)TableEditor.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui/TableEditor.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)EDA.c: src/EDA.ec $(OBJ)EDA.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/EDA.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)ers.c: src/ers.ec $(OBJ)ers.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/ers.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)gui.c: src/gui.ec $(OBJ)gui.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/gui.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)idList.c: src/idList.ec $(OBJ)idList.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/idList.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +$(OBJ)fieldValue.c: src/fieldValue.ec $(OBJ)fieldValue.sym | $(SYMBOLS) + $(ECC) $(CFLAGS) $(CECFLAGS) $(ECFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,src/fieldValue.ec) -o $(call quote_path,$@) -symbols $(OBJ) + +# OBJECT RULES + +$(OBJ)DirFilesDataSource$(O): $(OBJ)DirFilesDataSource.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)DirFilesDataSource.c) -o $(call quote_path,$@) + +$(OBJ)EDB$(O): $(OBJ)EDB.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)EDB.c) -o $(call quote_path,$@) + +$(OBJ)MemoryEDB$(O): $(OBJ)MemoryEDB.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)MemoryEDB.c) -o $(call quote_path,$@) + +$(OBJ)FieldBox$(O): $(OBJ)FieldBox.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)FieldBox.c) -o $(call quote_path,$@) + +$(OBJ)TableEditor$(O): $(OBJ)TableEditor.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)TableEditor.c) -o $(call quote_path,$@) + +$(OBJ)EDA$(O): $(OBJ)EDA.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)EDA.c) -o $(call quote_path,$@) + +$(OBJ)ers$(O): $(OBJ)ers.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)ers.c) -o $(call quote_path,$@) + +$(OBJ)gui$(O): $(OBJ)gui.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)gui.c) -o $(call quote_path,$@) + +$(OBJ)idList$(O): $(OBJ)idList.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)idList.c) -o $(call quote_path,$@) + +$(OBJ)fieldValue$(O): $(OBJ)fieldValue.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(call quote_path,$(OBJ)fieldValue.c) -o $(call quote_path,$@) + +$(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c + $(CC) $(CFLAGS) $(PRJ_CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(call quote_path,$@) + +cleantarget: + $(call rm,$(OBJ)$(MODULE).main$(O) $(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S)) + $(call rm,$(OBJ)symbols.lst) + $(call rm,$(OBJ)objects.lst) + $(call rm,$(TARGET)) +ifdef SHARED_LIBRARY_TARGET +ifdef LINUX_TARGET +ifdef LINUX_HOST + $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)$(basename $(VER))) + $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)) +endif +endif +endif + +clean: cleantarget + $(call rm,$(_OBJECTS)) + $(call rm,$(ECOBJECTS)) + $(call rm,$(COBJECTS)) + $(call rm,$(BOWLS)) + $(call rm,$(IMPORTS)) + $(call rm,$(SYMBOLS)) + +realclean: cleantarget + $(call rmr,$(OBJ)) + +wipeclean: cleantarget + $(call rmr,obj/) + +distclean: cleantarget + $(_MAKE) -f $(_CF_DIR)Cleanfile distclean distclean_all_subdirs + +$(MAKEFILE_LIST): ; +$(SOURCES): ; +$(RESOURCES): ; diff --git a/extras/testing/testingFramework.ec b/extras/testing/testingFramework.ec index 99d7ce23ff..0c8818f41c 100644 --- a/extras/testing/testingFramework.ec +++ b/extras/testing/testingFramework.ec @@ -1,4 +1,11 @@ -import "ecere" +#ifndef IMPORT_STATIC +#ifdef ECERE_STATIC +#define IMPORT_STATIC static +#else +#define IMPORT_STATIC +#endif +#endif +public import IMPORT_STATIC "ecere" public class eTest {