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
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)
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.)
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
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
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
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)
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
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
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
@$(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))
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...)
.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:
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
-DECERE_STATIC
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
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
CECFLAGS += -cpp $(_CPP)
-OFLAGS += $(FORCE_32_BIT)
-
# TARGETS
all: objdir $(TARGET)
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
-DECERE_STATIC
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
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
-DECERE_STATIC
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
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
CECFLAGS += -cpp $(_CPP)
-OFLAGS += $(FORCE_32_BIT)
-
# TARGETS
all: objdir $(TARGET)
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
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
$(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)
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
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
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
$(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)
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
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
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
$(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)
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
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)
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 \
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
$(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)
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
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
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
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))
# 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
-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)
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,)
ifdef OSX_TARGET
CFLAGS += -I$(SYSROOT)/usr/include/ffi
+else
+# OFLAGS += -L/usr/lib/$(TARGET_ARCH)/ec
endif
OFLAGS += $(LDFLAGS)
UPXFLAGS = -9 -q
+ifdef ARCH_FLAGS
+CFLAGS += $(ARCH_FLAGS)
+OFLAGS += $(ARCH_FLAGS)
+endif
+
CFLAGS += -fmessage-length=0
EARFLAGS = q
# 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 = \
# 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 = \
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
# 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
# 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 \
# 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 \
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)
CECFLAGS += -cpp $(_CPP)
-ifndef STATIC_LIBRARY_TARGET
-OFLAGS += $(FORCE_32_BIT)
-endif
-
# TARGETS
all: objdir $(TARGET)
# 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 \
# 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 \
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
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
$(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)
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
# 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
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)
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
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
$(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)
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
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
# 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
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -Os) $(FORCE_32_BIT) $(FPIC) -w \
+ $(if $(DEBUG), -g, -Os) $(FPIC) -w \
-DECERE_STATIC
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
$(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)
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)/
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)
-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 \
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) \
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) \
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) \
CECFLAGS += -cpp $(_CPP)
-OFLAGS += $(FORCE_32_BIT)
-
# TARGETS
all: objdir $(TARGET)
$(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)
$(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)
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)/
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)
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
CECFLAGS += -cpp $(_CPP)
-OFLAGS += $(FORCE_32_BIT)
-
# TARGETS
all: objdir $(TARGET)
$(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)
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)/
-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 \
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) \
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) \
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) \
CECFLAGS += -cpp $(_CPP)
-OFLAGS += $(FORCE_32_BIT)
-
# TARGETS
all: objdir $(TARGET)
$(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)
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
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;
#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])
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)
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 += \
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
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
$(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)
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)
$(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
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
$(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)
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)
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 += \
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
$(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)
# 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 \
endif
PRJ_CFLAGS += \
- $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w \
-DMAKEFILE_GENERATOR
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
$(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)
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
# 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 \
-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)
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
$(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)
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