Makefiles: Force building 32 or 64 bit by setting ARCH=32 or 64
authorJerome St-Louis <jerome@ecere.com>
Wed, 6 Mar 2013 06:22:34 +0000 (01:22 -0500)
committerJerome St-Louis <jerome@ecere.com>
Wed, 6 Mar 2013 06:22:34 +0000 (01:22 -0500)
- When ARCH is specified, build output goes in .x32 or .x64
- Fixed proper detection of Program Files on Windows
- Got rid of compiler setting FORCE_32_BIT and FORCE_64_BIT (Replaced by ARCH setting)
- Automatically installing in multilib path on Linux when not building .deb
- Improved attempts to load libecere in alternate paths (Thanks Niraj)
- Fixed all SDK makefiles to use $(COMPILER_SUFFIX)$(DEBUG_SUFFIX)

32 files changed:
Makefile
compiler/Makefile
compiler/bootstrap/Makefile
compiler/bootstrap/ecc/Makefile
compiler/bootstrap/ecere/Makefile
compiler/bootstrap/ecp/Makefile
compiler/bootstrap/ecs/Makefile
compiler/bootstrap/libec/Makefile
compiler/ecc/Makefile
compiler/ecp/Makefile
compiler/ecs/Makefile
compiler/libec/Makefile
crossplatform.mk
default.cf
deps/freetype-2.3.12/Makefile
deps/jpeg-6b/Makefile
deps/libffi-3.0.11/Makefile
deps/libpng-1.4.0/Makefile
deps/libungif-4.1.1/Makefile
deps/zlib/Makefile
documentor/Makefile
ear/cmd/Makefile
ear/extract/Makefile
ecere/Makefile
ecere/Makefile.ecereCOM
ecere/Makefile.vanilla
ecere/src/com/instance.c
eda/drivers/sqlite/Makefile
eda/drivers/sqliteCipher/Makefile
eda/libeda/Makefile
epj2make/Makefile
ide/Makefile

index 9920791..6705188 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -28,8 +28,8 @@ SOV := $(SO)
 
 ifndef DESTDIR
 
-ifeq "$(HOST_ARCH)" "X64"
-   ifeq "$(wildcard $(SystemDrive)/Program Files )" ""
+ifeq "$(TARGET_ARCH)" "x86_64"
+   ifneq "$(wildcard $(SystemDrive)/Program\ Files )" ""
       export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
    else
       export DESTDIR=$(SystemDrive)/Ecere SDK
@@ -106,24 +106,26 @@ ifndef BINDIR
 export BINDIR=$(DESTDIR)$(prefix)/bin
 endif
 
-HOSTTYPE := $(shell uname -m)
-
 ifdef LIBDIR
-export PREFIXLIBDIR=$(LIBDIR)
+ export PREFIXLIBDIR=$(LIBDIR)
 else
+ export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
 
-ifeq "$(HOSTTYPE)" "x86_64"
-#ifdef OSX_HOST
-export PREFIXLIBDIR=$(prefix)/lib
-#else
-#export PREFIXLIBDIR=$(prefix)/lib32
-#endif
-else
-export PREFIXLIBDIR=$(prefix)/lib
-endif
+ ifeq "$(wildcard $(prefix)/lib/$(TARGET_ARCH) )" ""
+  export PREFIXLIBDIR=$(prefix)/lib
+
+  ifeq "$(TARGET_ARCH)" "i386-linux-gnu"
+   ifneq "$(wildcard $(prefix)/lib32 )" ""
+    export PREFIXLIBDIR=$(prefix)/lib32
+   endif
+  endif
 
+ endif
 endif
 
+export CPPFLAGS
+CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(PREFIXLIBDIR)\"
+
 DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
 ifdef SLIBDIR
 DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
@@ -143,11 +145,11 @@ endif
 endif
 
 OBJDIR := obj$(OBJALT)/
-OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
-OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
+OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
+OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
 XOBJDIR := obj$(OBJALT)/
-XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
-XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
+XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
+XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
 
 all: prepbinaries ide epj2make documentor eda codeguard
        @$(call echo,The Ecere SDK is fully built.)
@@ -215,14 +217,14 @@ endif
 prepbinaries: compiler ecerecom
        @$(call echo,Enabling 2nd stage binaries...)
 ifdef WINDOWS_TARGET
-       $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJBINDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
-       $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJBINDIR))
+       $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
+       $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
 endif
 ifdef LINUX_TARGET
-       $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
-       $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
+       $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
        ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
        ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
        ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO).0
@@ -232,27 +234,27 @@ ifdef LINUX_TARGET
 endif
 ifndef WINDOWS_TARGET
 ifndef LINUX_TARGET
-       $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
-       $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
+       $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
 endif
 endif
-       $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
-       $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
-       $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
-       $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
+       $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
+       $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
+       $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
+       $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
 
 ifdef CROSS_TARGET
 
 ifdef WINDOWS_HOST
-       $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
-       $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
+       $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
+       $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
 endif
 ifdef WINDOWS_HOST
-       $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
-       $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
+       $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
+       $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
        ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO).0
        ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO).0
        ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO).0
@@ -262,15 +264,15 @@ ifdef WINDOWS_HOST
 endif
 ifndef WINDOWS_HOST
 ifndef LINUX_HOST
-       $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
-       $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
+       $(call cpq,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
+       $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
 endif
 endif
-       $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
-       $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
-       $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
-       $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
+       $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
+       $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
+       $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
+       $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
 
 endif
 
@@ -401,26 +403,26 @@ endif
 DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
 
 BINARIES = \
-       ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \
-       ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \
-       ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \
-       compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \
-       compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \
-       compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \
-       compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \
-       ear/cmd/obj/release.$(PLATFORM)/ear$(E) \
-       epj2make/obj/release.$(PLATFORM)/epj2make$(E) \
-       documentor/obj/release.$(PLATFORM)/documentor$(E) \
-       ide/obj/release.$(PLATFORM)/ide$(E) \
-       eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \
-       eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV)
+       ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
+       ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \
+       ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \
+       compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \
+       compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \
+       compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \
+       compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \
+       ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \
+       epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \
+       documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \
+       ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \
+       eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \
+       eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV)
 
 ifdef CodeGuard
-BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E)
+BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
 endif
 
 ifdef EDASQLiteCipher
-BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV)
+BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV)
 endif
 
 # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR)
@@ -430,24 +432,24 @@ endif
 prepinstall: $(DOC) $(BINARIES) outputdirs
 
 ifdef WINDOWS_TARGET
-       $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJBINDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
-       $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJBINDIR))
-       $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
-       $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
+       $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
+       $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
+       $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
+       $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
 ifdef EDASQLiteCipher
-       $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
+       $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
 endif
 endif
 
 ifdef LINUX_TARGET
-       $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV),$(OBJLIBDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
-       $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV),$(OBJLIBDIR))
-       $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
-       $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
+       $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
+       $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
+       $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
 ifdef EDASQLiteCipher
-       $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
+       $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
 endif
        ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO).0
        ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO).0
@@ -469,28 +471,28 @@ endif
 
 ifndef WINDOWS_TARGET
 ifndef LINUX_TARGET
-       $(call cpq,ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SO),$(OBJLIBDIR))
-       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
-       $(call cpq,compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SO),$(OBJLIBDIR))
-       $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
-       $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
+       $(call cpq,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
+       $(call cpq,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
+       $(call cpq,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
 ifdef EDASQLiteCipher
-       $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
+       $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
 endif
 endif
 endif
 
-       $(call cpq,ide/obj/release.$(PLATFORM)/ide$(E),$(OBJBINDIR))
-       $(call cpq,ear/cmd/obj/release.$(PLATFORM)/ear$(E),$(OBJBINDIR))
-       $(call cpq,compiler/ecc/obj/release.$(PLATFORM)/ecc$(E),$(OBJBINDIR))
-       $(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
-       $(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
-       $(call cpq,epj2make/obj/release.$(PLATFORM)/epj2make$(E),$(OBJBINDIR))
-       $(call cpq,documentor/obj/release.$(PLATFORM)/documentor$(E),$(OBJBINDIR))
+       $(call cpq,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
+       $(call cpq,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
+       $(call cpq,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
+       $(call cpq,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
+       $(call cpq,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
+       $(call cpq,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
+       $(call cpq,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
 ifdef CodeGuard
-       $(call cpq,codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E),$(OBJBINDIR))
+       $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
 endif
-       $(call cpq,ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A),$(OBJLIBDIR))
+       $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
 
 #TODO: Samples?
 install: prepinstall actualinstall
@@ -571,31 +573,28 @@ ifdef LINUX_TARGET
        install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SOV)
        install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SOV)
        install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SOV)
-       install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SOV)
-       install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SOV)
+       install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SOV)
+       install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)
 ifdef EDASQLiteCipher
-       install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)
+       install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
 endif
        ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO).0
        ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO).0
        ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO).0
-       ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO).0
-       ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO).0
+       ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO).0
+       ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0
 ifdef EDASQLiteCipher
-       ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0
+       ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
 endif
        ln -sf $(LP)ecere$(SOV) $(DESTLIBDIR)/$(LP)ecere$(SO)
        ln -sf $(LP)ecereCOM$(SOV) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
        ln -sf $(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
-       ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO)
-       ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
-       ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
-       ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
-#      ln -sf $(PREFIXLIBDIR)/ec/$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
-       ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
-       ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
+       ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
+       ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
+       ln -sf ../$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
+       ln -sf ../$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
 ifdef EDASQLiteCipher
-       ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
+       ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
 endif
 ifndef BSD_HOST
        install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
@@ -741,5 +740,8 @@ troubleshoot:
        @$(call echo,AR=$(AR))
        @$(call echo,STRIP=$(STRIP))
        @$(call echo,UPX=$(UPX))
-       @$(call echo,HOST_ARCH=$(HOST_ARCH))
+       @$(call echo,TARGET_ARCH=$(TARGET_ARCH))
        @$(call echo,DESTDIR=$(DESTDIR))
+       @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
+       @$(call echo,ARCH=$(ARCH))
+       @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))
index defa486..a240400 100644 (file)
@@ -9,7 +9,7 @@ include ../default.cf
 
 all: ecp ecc ecs
 
-OBJ = libec/obj/$(CONFIG).$(TARGET_PLATFORM)/
+OBJ = libec/obj/$(CONFIG).$(TARGET_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 libec:
        @$(call echo,Building 2nd stage libec...)
index 8ff3b92..7b75bbf 100644 (file)
@@ -1,13 +1,13 @@
 .PHONY: bindir ecere libec ecp ecc ecs cleantarget clean realclean distclean
 .SILENT:
 
-OBJ = obj/bin.$(PLATFORM)/
+OBJ = obj/bin.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 include ../../crossplatform.mk
 include ../../default.cf
 
 all: bindir ecere libec ecp ecc ecs
-       $(call cpq,ecp/obj/bootstrap.$(PLATFORM)/ecp$(E) ecc/obj/bootstrap.$(PLATFORM)/ecc$(E) ecs/obj/bootstrap.$(PLATFORM)/ecs$(E),$(OBJ))
+       $(call cpq,ecp/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) ecc/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) ecs/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJ))
        @$(call echo,All done!)
 
 bindir:
index 0c106fe..0cf1c1d 100644 (file)
@@ -60,7 +60,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DECERE_STATIC
 
 
@@ -84,12 +84,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../ecere/obj/bootstrap.$(PLATFORM) \
-        -L../libec/obj/bootstrap.$(PLATFORM)
+        -L../ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) \
+        -L../libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)
 endif
 
 # TARGETS
index e6bc1d2..64dd6ed 100644 (file)
@@ -106,7 +106,7 @@ LIBS +=
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG),-g) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG),-g) $(FPIC) -w \
         -DBUILDING_ECERE_COM -DECERE_STATIC -DECERE_BOOTSTRAP
 ECFLAGS += \
         -nolinenumbers -defaultns ecere
@@ -116,8 +116,6 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 # TARGETS
 
 all: objdir $(TARGET)
index 6c9aa33..a92781d 100644 (file)
@@ -60,7 +60,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DECERE_STATIC
 
 
@@ -84,12 +84,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../ecere/obj/bootstrap.$(PLATFORM) \
-        -L../libec/obj/bootstrap.$(PLATFORM)
+        -L../ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) \
+        -L../libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)
 endif
 
 # TARGETS
index 0facdba..fe8f829 100644 (file)
@@ -60,7 +60,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DECERE_STATIC
 
 
@@ -84,12 +84,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../ecere/obj/bootstrap.$(PLATFORM) \
-        -L../libec/obj/bootstrap.$(PLATFORM)
+        -L../ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) \
+        -L../libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)
 endif
 
 # TARGETS
index 2aa6cd8..9fc3ca8 100644 (file)
@@ -96,7 +96,7 @@ LIBS +=
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DECERE_STATIC
 ECFLAGS += \
         -nolinenumbers
@@ -106,8 +106,6 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 # TARGETS
 
 all: objdir $(TARGET)
index 6934291..93b8da7 100644 (file)
@@ -75,7 +75,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -86,12 +86,10 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../obj/$(PLATFORM)/bin \
-        -L../../obj/$(PLATFORM)/lib
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -102,7 +100,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) -console $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) -console $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -121,7 +119,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 # SYMBOL RULES
 
index fb28796..f0aa5eb 100644 (file)
@@ -75,7 +75,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -86,12 +86,10 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../obj/$(PLATFORM)/bin \
-        -L../../obj/$(PLATFORM)/lib
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -102,7 +100,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) -console $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) -console $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -121,7 +119,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 # SYMBOL RULES
 
index 585f0c3..1aefb8b 100644 (file)
@@ -75,7 +75,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -86,12 +86,10 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../obj/$(PLATFORM)/bin \
-        -L../../obj/$(PLATFORM)/lib
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -102,7 +100,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) -console $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) -console $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -121,7 +119,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 # SYMBOL RULES
 
index 7d25f2d..697010f 100644 (file)
@@ -43,7 +43,7 @@ OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 RES = 
 
 ifdef LINUX_TARGET
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ec$(SO).0.44
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO).0.44
 SONAME = -Wl,-soname,libec.so.0
 else
 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO)
@@ -104,7 +104,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 CUSTOM1_PRJ_CFLAGS = \
                         -I../bootstrap/include \
@@ -119,12 +119,10 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../obj/$(PLATFORM)/bin \
-        -L../../obj/$(PLATFORM)/lib
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -135,7 +133,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -161,7 +159,7 @@ ifdef LINUX_TARGET
 endif  
 ifdef WINDOWS_TARGET
 ifndef CROSS_TARGET
-       $(call cpq,$(TARGET),../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/)
+       $(call cpq,$(TARGET),../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/)
 endif
 endif
 
index e3cc65e..bc9abed 100644 (file)
@@ -2,41 +2,24 @@
 ifeq "$(OS)" "Windows_NT"
    HOST_PLATFORM := win32
    WINDOWS_HOST := defined
-   DUMPMACHINE := $(shell gcc -dumpmachine)
-   ifneq ($(filter x86_64%,$(DUMPMACHINE)),)
-      HOST_ARCH = X64
-   else
-      HOST_ARCH = X86
-   endif
 else
-ifeq "$(OSTYPE)" "FreeBSD"
-# tocheck: temporarily using linux when on bsd
-#   HOST_PLATFORM := bsd
-   BSD_HOST := defined
-   HOST_PLATFORM := linux
-   LINUX_HOST := defined
-else
-ifeq "$(shell uname)" "Darwin"
-   HOST_PLATFORM := apple
-   OSX_HOST := defined
-else
-   HOST_PLATFORM := linux
-   LINUX_HOST := defined
-endif
-endif
-
-UNAME_P := $(shell uname -p)
-ifeq ($(UNAME_P),x86_64)
-  HOST_ARCH = X64
-else
-ifneq ($(filter %86,$(UNAME_P)),)
-  HOST_ARCH = X86
-else
-ifneq ($(filter arm%,$(UNAME_P)),)
-  HOST_ARCH = ARM
-endif
-endif
-endif
+ ifeq "$(OSTYPE)" "FreeBSD"
+ # tocheck: temporarily using linux when on bsd
+ #   HOST_PLATFORM := bsd
+    BSD_HOST := defined
+    HOST_PLATFORM := linux
+    LINUX_HOST := defined
+ else
+  ifeq "$(shell uname)" "Darwin"
+     HOST_PLATFORM := apple
+     OSX_HOST := defined
+  else
+     HOST_PLATFORM := linux
+     LINUX_HOST := defined
+  endif
+ endif
+ UNAME_P := $(shell uname -p)
+ HOST_ARCH := $(UNAME_P)
 endif
 
 # TARGET_PLATFORM
@@ -98,15 +81,59 @@ endif
 endif
 endif
 
+# Accept different things for ARCH but standardize on x32/x64
+# This will be used for object directories
+ifdef ARCH
+ ifeq "$(ARCH)" "32"
+  override ARCH := x32
+ endif
+ ifeq "$(ARCH)" "x86"
+  override ARCH := x32
+ endif
+ ifeq "$(ARCH)" "i386"
+  override ARCH := x32
+ endif
+ ifeq "$(ARCH)" "i686"
+  override ARCH := x32
+ endif
+ ifeq "$(ARCH)" "64"
+  override ARCH := x64
+ endif
+ ifeq "$(ARCH)" "amd64"
+  override ARCH := x64
+ endif
+ ifeq "$(ARCH)" "x86_64"
+  override ARCH := x64
+ endif
+
+ # Set ARCH_FLAGS only if ARCH is set
+ ifeq "$(ARCH)" "x64"
+  TARGET_ARCH := x86_64
+  ARCH_FLAGS := -m64
+ endif
+ ifeq "$(ARCH)" "x32"
+  TARGET_ARCH := i386
+  ARCH_FLAGS := -m32
+ endif
+
+ ARCH_SUFFIX := .$(ARCH)
+
+ ifdef LINUX_TARGET
+  TARGET_ARCH := $(TARGET_ARCH)-linux-gnu
+ endif
+
+endif
+
 # DEBUG SUFFIX
 ifdef DEBUG
 DEBUG_SUFFIX := .debug
 endif
 
 # COMPILER SUFFIX
+COMPILER_SUFFIX = $(ARCH_SUFFIX)
 ifdef COMPILER
 ifneq "$(COMPILER)" "default"
-COMPILER_SUFFIX := .$(COMPILER)
+COMPILER_SUFFIX = .$(COMPILER)$(ARCH_SUFFIX)
 endif
 endif
 
@@ -199,8 +226,8 @@ INSTALLNAME := $(if $(OSX_TARGET),$(if $(STATIC_LIBRARY_TARGET),-install_name $(
 SHAREDLIB := $(if $(SHARED_LIBRARY_TARGET),$(if $(OSX_TARGET),-dynamiclib -single_module -multiply_defined suppress,-shared),)
 LINKOPT :=
 STRIPOPT := $(if $(OSX_TARGET),$(if $(SHARED_LIBRARY_TARGET),-x, -u -r), -x --strip-unneeded --remove-section=.comment --remove-section=.note)
-HOST_SODESTDIR := $(if $(WINDOWS_HOST),obj/$(HOST_PLATFORM)/bin/,obj/$(HOST_PLATFORM)/lib/)
-SODESTDIR := $(if $(WINDOWS_TARGET),obj/$(TARGET_PLATFORM)/bin/,obj/$(TARGET_PLATFORM)/lib/)
+HOST_SODESTDIR := $(if $(WINDOWS_HOST),obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/,obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/)
+SODESTDIR := $(if $(WINDOWS_TARGET),obj/$(TARGET_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/,obj/$(TARGET_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/)
 
 # EXCLUDED_LIBS TOOL
 _L = $(if $(filter $(1),$(EXCLUDED_LIBS)),,-l$(1))
@@ -216,19 +243,15 @@ endif
 
 # COMMON LIBRARIES DETECTION
 ifdef WINDOWS_TARGET
-ifdef OPENSSL_CONF
-_OPENSSL_CONF = $(call hidspace,$(call fixps,$(OPENSSL_CONF)))
-OPENSSL_INCLUDE_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/include,$(_OPENSSL_CONF)))
-OPENSSL_LIB_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/lib,$(_OPENSSL_CONF)))
-OPENSSL_BIN_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/bin,$(_OPENSSL_CONF)))
-else
+ ifdef OPENSSL_CONF
+  _OPENSSL_CONF = $(call hidspace,$(call fixps,$(OPENSSL_CONF)))
+  OPENSSL_INCLUDE_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/include,$(_OPENSSL_CONF)))
+  OPENSSL_LIB_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/lib,$(_OPENSSL_CONF)))
+  OPENSSL_BIN_DIR = $(call shwspace,$(subst /bin/openssl.cfg,/bin,$(_OPENSSL_CONF)))
+ else
 # to avoid issues with empty -L/-I
-OPENSSL_INCLUDE_DIR = .
-OPENSSL_LIB_DIR = .
-OPENSSL_BIN_DIR = .
-endif
-else
-ifndef OSX_TARGET
-OFLAGS += -L/usr/lib/ec
-endif
+  OPENSSL_INCLUDE_DIR = .
+  OPENSSL_LIB_DIR = .
+  OPENSSL_BIN_DIR = .
+ endif
 endif
index 97e7180..728f1b9 100644 (file)
@@ -1,4 +1,4 @@
-EC_BINS := $(_CF_DIR)$(if $(USE_BOOTSTRAP),compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/,obj/$(HOST_PLATFORM)/bin/)
+EC_BINS := $(_CF_DIR)$(if $(USE_BOOTSTRAP),compiler/bootstrap/obj/bin.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG)/,obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG)/bin/)
 
 # TOOLCHAIN
 export CC      = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
@@ -10,21 +10,24 @@ export STRIP   = $(GCC_PREFIX)strip
 export ECP := $(call psep,$(EC_BINS)ecp$(HOST_E))
 export ECC := $(call psep,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
 export ECS := $(call psep,$(EC_BINS)ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-export EAR := $(call psep,$(_CF_DIR)obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
+export EAR := $(call psep,$(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/ear$(HOST_E))
 UPX := upx
 
-ifndef WINDOWS_HOST
-export LD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)/lib/
+ifndef ARCH
+TARGET_ARCH :=$(shell $(CC) -dumpmachine)
+ ifdef WINDOWS_HOST
+  ifneq ($(filter x86_64%,$(TARGET_ARCH)),)
+     TARGET_ARCH := x86_64
+  else
+     TARGET_ARCH := i386
+  endif
+ endif
 endif
 
-# ifeq "$(HOST_ARCH)" "ARM"
-FORCE_64_BIT =
-FORCE_32_BIT =
-# else
-# FORCE_64_BIT = -m64
-# FORCE_32_BIT = -m32
-# endif
+ifndef WINDOWS_HOST
+export LD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
+export DYLD_LIBRARY_PATH = $(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/
+endif
 
 # HARD CODED PLATFORM-SPECIFIC OPTIONS
 LDFLAGS +=$(if $(LINUX_TARGET), -Wl$(comma)--no-undefined,)
@@ -38,6 +41,8 @@ endif
 
 ifdef OSX_TARGET
 CFLAGS += -I$(SYSROOT)/usr/include/ffi
+else
+# OFLAGS += -L/usr/lib/$(TARGET_ARCH)/ec
 endif
 
 OFLAGS += $(LDFLAGS)
@@ -46,6 +51,11 @@ OFLAGS += $(LDFLAGS)
 
 UPXFLAGS = -9 -q
 
+ifdef ARCH_FLAGS
+CFLAGS += $(ARCH_FLAGS)
+OFLAGS += $(ARCH_FLAGS)
+endif
+
 CFLAGS += -fmessage-length=0
 
 EARFLAGS = q
index a7133a2..b31e01a 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)freetype$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)freetype$(A)
 
 _OBJECTS = $(_OBJECTS1) $(_OBJECTS2)
 _OBJECTS1 = \
index 0d5d80a..2c9dabb 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)jpeg$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)jpeg$(A)
 
 _OBJECTS = $(_OBJECTS1) $(_OBJECTS2)
 _OBJECTS1 = \
@@ -154,7 +154,7 @@ RESOURCES =
 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w $(FORCE_32_BIT)
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 
index 93ef738..54b1748 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ffi$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)ffi$(A)
 
 ifeq "$(HOST_ARCH)" "X64"
 PLATFORM_OBJ  := win64
index 4300f48..ef45e08 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)png$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)png$(A)
 
 _OBJECTS = \
        $(OBJ)png.o \
index d7e7fa5..b6bc43a 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ungif$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)ungif$(A)
 
 _OBJECTS = \
        $(OBJ)dgif_lib.o \
@@ -60,7 +60,7 @@ RESOURCES =
 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w $(FVISIBILITY)
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w $(FVISIBILITY)
 
 
 
@@ -68,10 +68,6 @@ PRJ_CFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-ifndef STATIC_LIBRARY_TARGET
-OFLAGS += $(FORCE_32_BIT)
-endif
-
 # TARGETS
 
 all: objdir $(TARGET)
index f55e3af..728c2f9 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)z$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)z$(A)
 
 _OBJECTS = \
        $(OBJ)adler32.o \
index 3a72edc..3241a59 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/documentor$(E)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E)
 
 _ECSOURCES = \
        ../extras/html/htmlParser.ec \
@@ -83,7 +83,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -95,9 +95,9 @@ ECFLAGS += \
 CECFLAGS += -cpp $(_CPP)
 
 ifndef STATIC_LIBRARY_TARGET
-OFLAGS += $(FORCE_32_BIT) \
-        -L../obj/$(PLATFORM)/bin \
-        -L../obj/$(PLATFORM)/lib
+OFLAGS += \
+        -L../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -108,7 +108,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -128,7 +128,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 # SYMBOL RULES
 
index 464a3fa..fe7046a 100644 (file)
@@ -38,11 +38,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/ear$(E)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E)
 
 _ECSOURCES = \
        ear.ec
@@ -66,7 +66,7 @@ SOURCES = $(ECSOURCES)
 RESOURCES = \
        locale/es_ES/LC_MESSAGES/ear.mo \
        locale/zh_CN/LC_MESSAGES/ear.mo \
-       ../extract/obj/release.$(PLATFORM)/extract$(E)
+       ../extract/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/extract$(E)
 
 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
@@ -76,7 +76,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -87,12 +87,10 @@ ECFLAGS += \
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../obj/$(PLATFORM)/bin \
-        -L../../obj/$(PLATFORM)/lib
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -103,7 +101,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) -console $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) -console $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols $(OBJ) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -117,7 +115,7 @@ nores: $(SOURCES) $(SYMBOLS) $(OBJECTS) | objdir
 ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
 endif
-       $(call cpq,$(TARGET),../../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 $(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
 ifndef STATIC_LIBRARY_TARGET
@@ -125,13 +123,13 @@ ifndef STATIC_LIBRARY_TARGET
 ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
 endif
-       $(EAR) aw$(EARFLAGS) $(TARGET) ../extract/obj/release.$(PLATFORM)/extract$(E) ""
+       $(EAR) aw$(EARFLAGS) $(TARGET) ../extract/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/extract$(E) ""
        $(EAR) aw$(EARFLAGS) $(TARGET) locale/es_ES/LC_MESSAGES/ear.mo "locale/es_ES/LC_MESSAGES"
        $(EAR) aw$(EARFLAGS) $(TARGET) locale/zh_CN/LC_MESSAGES/ear.mo "locale/zh_CN/LC_MESSAGES"
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 # SYMBOL RULES
 
index 4a969a5..4300cc0 100644 (file)
@@ -38,11 +38,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/extract$(E)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/extract$(E)
 
 _ECSOURCES = \
        extract.ec
@@ -104,7 +104,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -Os) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -Os) $(FPIC) -w \
                         -DECERE_STATIC
 
 
@@ -168,12 +168,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../ecere/obj/vanilla.$(PLATFORM) \
-        -L../../deps/zlib/obj/release.$(PLATFORM)
+        -L../../ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) \
+        -L../../deps/zlib/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)
 endif
 
 # TARGETS
@@ -184,7 +182,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
index 5a4c9bc..3d327e5 100644 (file)
@@ -36,6 +36,10 @@ USE_BOOTSTRAP := defined
 include $(_CF_DIR)crossplatform.mk
 include $(_CF_DIR)default.cf
 
+ifdef PREFIXLIBDIR
+CFLAGS += -DDEB_HOST_MULTIARCH=\"$(PREFIXLIBDIR)\"
+endif
+
 # POST-INCLUDES VARIABLES
 
 OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
@@ -43,7 +47,7 @@ OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 RES = res/
 
 ifdef LINUX_TARGET
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)$(MODULE)$(SO).0.44
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)$(MODULE)$(SO).0.44
 SONAME = -Wl,-soname,libecere.so.0
 else
 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)$(MODULE)$(SO)
@@ -407,7 +411,7 @@ PRJ_CFLAGS += \
                         -I../deps/jpeg-6b \
                         -I../deps/libpng-1.4.0 \
                         -I../deps/libungif-4.1.1/lib,) \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DBUILDING_ECERE_COM \
                         -Isrc/gfx/drivers/harfbuzz \
                         -I/usr/X11R6/include \
@@ -428,11 +432,11 @@ ifdef WINDOWS_TARGET
 
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../deps/zlib/obj/release.$(PLATFORM) \
-        -L../deps/jpeg-6b/obj/release.$(PLATFORM) \
-        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM) \
-        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM) \
-        -L../deps/freetype-2.3.12/obj/release.$(PLATFORM)
+        -L../deps/zlib/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/jpeg-6b/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/freetype-2.3.12/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)
 LIBS += \
        $(call _L,dxguid) \
        $(call _L,ddraw) \
@@ -456,7 +460,7 @@ ifdef LINUX_TARGET
 
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM) \
+        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
         -L/usr/X11R6/lib
 LIBS += \
        $(call _L,ncurses) \
@@ -478,9 +482,9 @@ ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
         -L$(SYSROOT)/usr/X11/lib \
         -L/usr/X11R6/lib \
-        -L../deps/jpeg-6b/obj/release.$(PLATFORM) \
-        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM) \
-        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)
+        -L../deps/jpeg-6b/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)
 LIBS += \
        $(call _L,curses) \
        $(call _L,pthread) \
@@ -502,8 +506,6 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 # TARGETS
 
 all: objdir $(TARGET)
@@ -512,7 +514,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ECSLIBOPT) $(ARCH_FLAGS) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -528,7 +530,7 @@ ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
 endif
 ifdef WINDOWS_TARGET
-       $(call cpq,$(TARGET),../compiler/bootstrap/obj/bin.$(PLATFORM)/)
+       $(call cpq,$(TARGET),../compiler/bootstrap/obj/bin.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/)
 endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
index 83705d3..c979209 100644 (file)
@@ -36,6 +36,10 @@ USE_BOOTSTRAP := defined
 include $(_CF_DIR)crossplatform.mk
 include $(_CF_DIR)default.cf
 
+ifdef PREFIXLIBDIR
+CFLAGS += -DDEB_HOST_MULTIARCH=\"$(PREFIXLIBDIR)\"
+endif
+
 # POST-INCLUDES VARIABLES
 
 OBJ = obj/$(MODULE).$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
@@ -43,7 +47,7 @@ OBJ = obj/$(MODULE).$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 RES = 
 
 ifdef LINUX_TARGET
-TARGET = obj/$(MODULE).$(CONFIG).$(PLATFORM)/$(LP)ecereCOM$(SO).0.44
+TARGET = obj/$(MODULE).$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO).0.44
 SONAME = -Wl,-soname,libecereCOM.so.0
 else
 TARGET = obj/$(MODULE).$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO)
@@ -97,7 +101,7 @@ LIBS +=
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DBUILDING_ECERE_COM \
                         -DECERE_COM_MODULE \
                         -DECERE_NOFILE
@@ -124,8 +128,6 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 # TARGETS
 
 all: objdir $(TARGET)
@@ -134,7 +136,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(MODULE).$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ECSLIBOPT) $(ARCH_FLAGS) $(SYMBOLS) $(IMPORTS) -symbols obj/$(MODULE).$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
index 0ff42cf..20f6b68 100644 (file)
@@ -36,6 +36,10 @@ USE_BOOTSTRAP := defined
 include $(_CF_DIR)crossplatform.mk
 include $(_CF_DIR)default.cf
 
+ifdef PREFIXLIBDIR
+CFLAGS += -DDEB_HOST_MULTIARCH=\"$(PREFIXLIBDIR)\"
+endif
+
 # POST-INCLUDES VARIABLES
 
 OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
@@ -354,7 +358,7 @@ PRJ_CFLAGS += \
                         -I../deps/jpeg-6b \
                         -I../deps/libpng-1.4.0 \
                         -I../deps/libungif-4.1.1/lib,) \
-        $(if $(DEBUG), -g, -Os) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -Os) $(FPIC) -w \
                         -DBUILDING_ECERE_COM \
                         -DECERE_STATIC \
                         -DECERE_VANILLA \
@@ -378,11 +382,11 @@ ifdef WINDOWS_TARGET
 
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../deps/zlib/obj/release.$(PLATFORM) \
-        -L../deps/jpeg-6b/obj/release.$(PLATFORM) \
-        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM) \
-        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM) \
-        -L../deps/freetype-2.3.12/obj/release.$(PLATFORM)
+        -L../deps/zlib/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/jpeg-6b/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/freetype-2.3.12/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)
 LIBS += \
        $(call _L,dxguid) \
        $(call _L,ddraw) \
@@ -406,7 +410,7 @@ ifdef LINUX_TARGET
 
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM) \
+        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
         -L/usr/X11R6/lib
 LIBS += \
        $(call _L,ncurses) \
@@ -428,9 +432,9 @@ ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
         -L$(SYSROOT)/usr/X11/lib \
         -L/usr/X11R6/lib \
-        -L../deps/jpeg-6b/obj/release.$(PLATFORM) \
-        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM) \
-        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)
+        -L../deps/jpeg-6b/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libpng-1.4.0/obj/release.$(PLATFORM)$(COMPILER_SUFFIX) \
+        -L../deps/libungif-4.1.1/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)
 LIBS += \
        $(call _L,curses) \
        $(call _L,pthread) \
@@ -452,8 +456,6 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 # TARGETS
 
 all: objdir $(TARGET)
@@ -462,7 +464,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ECSLIBOPT) $(ARCH_FLAGS) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -498,7 +500,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../obj/$(PLATFORM)/lib/)
+       $(call cpq,$(TARGET),../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/)
 
 # SYMBOL RULES
 
index 166a33f..ddcf947 100644 (file)
@@ -270,6 +270,10 @@ void * Instance_Module_Load(const char * libLocation, const char * name, void **
    char fileName[MAX_LOCATION];
    char extension[MAX_EXTENSION];
    void * library = null;
+#if defined(__unix__) || defined(__APPLE__)
+   int attempts = 0;
+   char * paths[] = { null, "/usr/lib/ec/lib", "/usr/lib32/ec/lib" };
+#endif
 
    *Load = null;
    *Unload = null;
@@ -312,14 +316,20 @@ void * Instance_Module_Load(const char * libLocation, const char * name, void **
 #endif
 
    library = dlopen(fileName, RTLD_LAZY);
-   if(!library)
+   while(!library && attempts < sizeof(paths)/sizeof(paths[0]))
    {
+      if(paths[attempts])
+         strcpy(fileName, paths[attempts++]);
+      else
+      {
+         attempts++;
 #ifdef DEB_HOST_MULTIARCH
-      strcpy(fileName, DEB_HOST_MULTIARCH);
-      strcat(fileName, "/ec/lib");
+         strcpy(fileName, DEB_HOST_MULTIARCH);
+         strcat(fileName, "/ec/lib");
 #else
-      strcpy(fileName, "/usr/lib/ec/lib");
+         continue;
 #endif
+      }
       strcat(fileName, name);
       GetExtension(fileName, extension);
       if(!extension[0])
index f99eb34..6e35ab4 100644 (file)
@@ -42,7 +42,7 @@ OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 RES = 
 
 ifdef LINUX_TARGET
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)EDASQLite$(SO).0.44
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO).0.44
 SONAME = -Wl,-soname,$(LP)EDASQLite$(SO).0
 else
 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO)
@@ -87,12 +87,12 @@ endif
 PRJ_CFLAGS += \
         $(if $(WINDOWS_TARGET), \
                         -I../../../deps/libffi-3.0.11/i686-pc-mingw32/include,) \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 CUSTOM1_PRJ_CFLAGS = \
         $(if $(WINDOWS_TARGET), \
                         -I../../../deps/libffi-3.0.11/i686-pc-mingw32/include,) \
-        $(if $(DEBUG), -g, -O2) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -105,7 +105,7 @@ ifdef WINDOWS_TARGET
 
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../../deps/libffi-3.0.11/obj/release.$(PLATFORM)
+        -L../../../deps/libffi-3.0.11/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)
 endif
 
 else
@@ -139,12 +139,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../../obj/$(PLATFORM)/bin \
-        -L../../../obj/$(PLATFORM)/lib
+        -L../../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -155,7 +153,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
index 7109d1b..7005ece 100644 (file)
@@ -42,7 +42,7 @@ OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 RES = 
 
 ifdef LINUX_TARGET
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)EDASQLiteCipher$(SO).0.44
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO).0.44
 SONAME = -Wl,-soname,$(LP)EDASQLiteCipher$(SO).0
 else
 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO)
@@ -89,14 +89,14 @@ PRJ_CFLAGS += \
         $(if $(WINDOWS_TARGET), \
                         -I$(OPENSSL_INCLUDE_DIR) \
                         -I../../../deps/libffi-3.0.11/i686-pc-mingw32/include,) \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DSQLITE_HAS_CODEC
 
 CUSTOM1_PRJ_CFLAGS = \
         $(if $(WINDOWS_TARGET), \
                         -I$(OPENSSL_INCLUDE_DIR) \
                         -I../../../deps/libffi-3.0.11/i686-pc-mingw32/include,) \
-        $(if $(DEBUG), -g, -O2) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2) $(FPIC) -w \
                         -DSQLITE_HAS_CODEC
 
 
@@ -148,12 +148,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../../obj/$(PLATFORM)/bin \
-        -L../../../obj/$(PLATFORM)/lib
+        -L../../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -164,7 +162,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
index 7e74a53..a5075b9 100644 (file)
@@ -42,7 +42,7 @@ OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 RES = 
 
 ifdef LINUX_TARGET
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)EDA$(SO).0.44
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO).0.44
 SONAME = -Wl,-soname,$(LP)EDA$(SO).0
 else
 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO)
@@ -89,7 +89,7 @@ endif
 PRJ_CFLAGS += \
         $(if $(WINDOWS_TARGET), \
                         -I../../deps/libffi-3.0.11/i686-pc-mingw32/include,) \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
 
 
 ECFLAGS += \
@@ -113,12 +113,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../../obj/$(PLATFORM)/bin \
-        -L../../obj/$(PLATFORM)/lib
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -129,7 +127,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
index 8ec1fbc..bc47a6b 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/epj2make$(E)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E)
 
 _ECSOURCES = \
        ../ide/src/project/Project.ec \
@@ -82,7 +82,7 @@ LIBS += \
 endif
 
 PRJ_CFLAGS += \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         -DMAKEFILE_GENERATOR
 
 
@@ -100,12 +100,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../obj/$(PLATFORM)/bin \
-        -L../obj/$(PLATFORM)/lib
+        -L../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -116,7 +114,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) -console $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) -console $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -136,7 +134,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 # SYMBOL RULES
 
index 9be303b..cca175c 100644 (file)
@@ -37,11 +37,11 @@ include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = res/
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/ide$(E)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E)
 
 _ECSOURCES = \
        ../extras/FileSystemIterator.ec \
@@ -175,7 +175,7 @@ PRJ_CFLAGS += \
                         -I/usr/X11R6/include,) \
         $(if $(OSX_TARGET), \
                         -I/usr/X11R6/include,) \
-        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
                         $(FVISIBILITY)
 
 
@@ -220,12 +220,10 @@ endif
 
 CECFLAGS += -cpp $(_CPP)
 
-OFLAGS += $(FORCE_32_BIT)
-
 ifndef STATIC_LIBRARY_TARGET
 OFLAGS += \
-        -L../obj/$(PLATFORM)/bin \
-        -L../obj/$(PLATFORM)/lib
+        -L../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin \
+        -L../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib
 endif
 
 # TARGETS
@@ -236,7 +234,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(FORCE_32_BIT) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ARCH_FLAGS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(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)
@@ -266,7 +264,7 @@ endif
 else
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 endif
-       $(call cpq,$(TARGET),../obj/$(PLATFORM)/bin/)
+       $(call cpq,$(TARGET),../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
 ifdef WINDOWS_TARGET
 obj/resources.o: src/icon2.ico src/resources.rc | objdir