-.PHONY: all clean realclean distclean emptyoutput prepinstall actualinstall install copyonlyinstall uninstall troubleshoot outputdirs bootstrap deps ecere ecerecom ecerevanilla ear compiler prepbinaries epj2make ide documentor eda prepcodeguard codeguard fixprecompile
-ifneq "$V" "1"
+.PHONY: all clean realclean distclean emptyoutput prepinstall actualinstall install copyonlyinstall uninstall troubleshoot outputdirs bootstrap deps ecere ecerecom ecerevanilla ear compiler prepbinaries epj2make ide documentor eda prepcodeguard codeguard fixprecompile cleantarget pots installer regenbootstrap updatebootstrap update_ecere update_libec update_ecp update_ecc update_ecs ecereaudio
+ifneq ($(V),1)
.SILENT:
endif
-LIBVER := .0.44
-
include crossplatform.mk
include default.cf
ifdef BSD_HOST
+INSTALL_FLAGS :=
CPFLAGS := -pRf
else
+INSTALL_FLAGS := -D
CPFLAGS := -dpRf
endif
XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
+LIBVER := .0.44
+
+ifndef ECERE_AUDIO
+ECERE_AUDIO := n
+
+ifdef WINDOWS_TARGET
+ECERE_AUDIO := y
+endif
+
+ifdef LINUX_TARGET
+ifndef BSD_TARGET
+ECERE_AUDIO := y
+endif
+endif
+endif
+
ifdef WINDOWS_HOST
HOST_SOV := $(HOST_SO)
else
ifdef WINDOWS_TARGET
+SOV := $(SO)
+
+ifndef DESTDIR
+
+ifeq ($(TARGET_ARCH),x86_64)
+ ifneq ($(wildcard $(SystemDrive)/Program\ Files ),)
+ export DESTDIR=$(SystemDrive)/Program Files/Ecere SDK
+ else
+ export DESTDIR=$(SystemDrive)/Ecere SDK
+ endif
+else
+ ifdef ProgramFiles(x86)
+ export DESTDIR=${ProgramFiles(x86)}/Ecere SDK
+ else
+ ifdef ProgramFiles
+ export DESTDIR=$(ProgramFiles)/Ecere SDK
+ else
+ export DESTDIR=$(SystemDrive)/Ecere SDK
+ endif
+ endif
+endif
+
+endif # DESTDIR
+
+export prefix=
+
ifndef DOCDIR
export DOCDIR=$(DESTDIR)$(prefix)/doc
endif
+ifndef BINDIR
+export BINDIR=$(DESTDIR)$(prefix)/bin
+endif
+
+ifndef LIBDIR
+export LIBDIR=$(BINDIR)
+endif
+export DESTLIBDIR=$(LIBDIR)
+
+ifndef SLIBDIR
+export SLIBDIR=$(DESTDIR)$(prefix)/lib
+endif
+export DESTSLIBDIR=$(SLIBDIR)
+
ifndef SAMPLESDIR
export SAMPLESDIR=$(DESTDIR)$(prefix)/samples
endif
export EXTRASDIR=$(DESTDIR)$(prefix)/extras
endif
+
else # WINDOWS_TARGET
+ifdef OSX_TARGET
+# TODO: OSX soname
+SOV := $(SO)
+else
+SOV := $(SO)$(LIBVER)
+endif
+
+ifndef DESTDIR
+export DESTDIR=
+endif
+
+ifndef prefix
+export prefix=/usr
+endif
+
ifndef DOCDIR
export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc
endif
export MANDIR=$(DESTDIR)$(prefix)/share/man/
endif
+ifndef BINDIR
+export BINDIR=$(DESTDIR)$(prefix)/bin
+endif
+
+ifdef LIBDIR
+ export PREFIXLIBDIR=$(LIBDIR)
+else
+ export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH)
+
+ 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=\"$(call escspace,$(PREFIXLIBDIR))\"
+DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
+ifdef SLIBDIR
+DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
+else
+DESTSLIBDIR := $(DESTLIBDIR)
+endif
+
ifndef SAMPLESDIR
export SAMPLESDIR=$(DESTDIR)$(prefix)/share/ecere/samples
endif
export EXTRASDIR=$(DESTDIR)$(prefix)/share/ecere/extras
endif
-endif # WINDOWS_TARGET
+endif
OBJDIR := obj$(OBJALT)/
OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/
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
+all: prepbinaries ide epj2make documentor eda codeguard ecereaudio
@$(call echo,The Ecere SDK is fully built.)
outputdirs:
- $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR)))
- $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR)))
- $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR)))
+ $(if $(wildcard $(OBJDIR)),,$(call mkdir,$(OBJDIR)))
+ $(if $(wildcard $(OBJBINDIR)),,$(call mkdir,$(OBJBINDIR)))
+ $(if $(wildcard $(OBJLIBDIR)),,$(call mkdir,$(OBJLIBDIR)))
ifdef CROSS_TARGET
- $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR)))
- $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR)))
- $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR)))
+ $(if $(wildcard $(XOBJDIR)),,$(call mkdir,$(XOBJDIR)))
+ $(if $(wildcard $(XOBJBINDIR)),,$(call mkdir,$(XOBJBINDIR)))
+ $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdir,$(XOBJLIBDIR)))
endif
bootstrap: outputdirs
prepbinaries: compiler ecerecom
@$(call echo,Enabling 2nd stage binaries...)
ifdef WINDOWS_TARGET
- $(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))
+ $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJBINDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJBINDIR))
+ $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJBINDIR))
endif
ifdef LINUX_TARGET
- $(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 cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
+ $(call cp,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)$(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 cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
+ $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
endif
endif
- $(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 cp,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
+ $(call cp,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
+ $(call cp,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
+ $(call cp,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)$(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))
+ $(call cp,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
+ $(call cp,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)$(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))
+ $(call cp,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
+ $(call cp,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)$(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))
+ $(call cp,ecere/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
+ $(call cp,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)$(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))
+ $(call cp,ear/cmd/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(HOST_E),$(XOBJBINDIR))
+ $(call cp,compiler/ecc/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(HOST_E),$(XOBJBINDIR))
+ $(call cp,compiler/ecp/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(HOST_E),$(XOBJBINDIR))
+ $(call cp,compiler/ecs/obj/release.$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(HOST_E),$(XOBJBINDIR))
endif
@$(call echo,Building epj2make...)
cd epj2make && $(MAKE)
+ecereaudio: prepbinaries
+ifneq ($(ECERE_AUDIO),n)
+ @$(call echo,Building EcereAudio...)
+ cd audio && $(MAKE)
+endif
+
ide: prepbinaries
@$(call echo,Building IDE...)
cd ide && $(MAKE)
prepcodeguard: eda
ifdef CodeGuard
ifdef WINDOWS_TARGET
- $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
+ $(call cp,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR))
endif
ifdef LINUX_TARGET
- $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
+ $(call cp,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV),$(OBJLIBDIR))
ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO).0
ln -sf $(LP)EDA$(SOV) $(OBJLIBDIR)$(LP)EDA$(SO)
endif
ifndef WINDOWS_TARGET
ifndef LINUX_TARGET
- $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
+ $(call cp,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR))
endif
endif
endif
eda: prepbinaries
+ifdef CROSS_TARGET
+ @$(call echo,Building EDA (host))
+ cd eda && $(MAKE) $(XBOOT)
+endif
@$(call echo,Building EDA...)
cd eda && $(MAKE)
emptyoutput: outputdirs
- $(call rmq,$(OBJLIBDIR)libecereVanilla$(A))
- $(call rmq,$(SODESTDIR)$(LP)ecere$(SO))
- $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO))
- $(call rmq,$(SODESTDIR)$(LP)ec$(SO))
- $(call rmq,$(SODESTDIR)$(LP)EDA$(SO))
- $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO))
+ $(call rm,$(OBJLIBDIR)libecereVanilla$(A))
+ $(call rm,$(SODESTDIR)$(LP)ecere$(SO))
+ $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SO))
+ $(call rm,$(SODESTDIR)$(LP)ec$(SO))
+ $(call rm,$(SODESTDIR)$(LP)EDA$(SO))
+ $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SO))
ifdef EDASQLiteCipher
- $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
+ $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO))
+endif
+ifneq ($(ECERE_AUDIO),n)
+ $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SO))
endif
ifdef LINUX_TARGET
- $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0)
- $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
- $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0)
- $(call rmq,$(SODESTDIR)$(LP)EDA$(SO).0)
- $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
+ $(call rm,$(SODESTDIR)$(LP)ecere$(SO).0)
+ $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SO).0)
+ $(call rm,$(SODESTDIR)$(LP)ec$(SO).0)
+ $(call rm,$(SODESTDIR)$(LP)EDA$(SO).0)
+ $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SO).0)
ifdef EDASQLiteCipher
- $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
+ $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO).0)
+endif
+ifneq ($(ECERE_AUDIO),n)
+ $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SO).0)
endif
- $(call rmq,$(SODESTDIR)$(LP)ecere$(SOV))
- $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SOV))
- $(call rmq,$(SODESTDIR)$(LP)ec$(SOV))
- $(call rmq,$(SODESTDIR)$(LP)EDA$(SOV))
- $(call rmq,$(SODESTDIR)$(LP)EDASQLite$(SOV))
+ $(call rm,$(SODESTDIR)$(LP)ecere$(SOV))
+ $(call rm,$(SODESTDIR)$(LP)ecereCOM$(SOV))
+ $(call rm,$(SODESTDIR)$(LP)ec$(SOV))
+ $(call rm,$(SODESTDIR)$(LP)EDA$(SOV))
+ $(call rm,$(SODESTDIR)$(LP)EDASQLite$(SOV))
ifdef EDASQLiteCipher
- $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
+ $(call rm,$(SODESTDIR)$(LP)EDASQLiteCipher$(SOV))
+endif
+ifneq ($(ECERE_AUDIO),n)
+ $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SOV))
endif
endif
- $(call rmq,$(OBJBINDIR)ear$(E))
- $(call rmq,$(OBJBINDIR)ecc$(E))
- $(call rmq,$(OBJBINDIR)ecp$(E))
- $(call rmq,$(OBJBINDIR)ecs$(E))
- $(call rmq,$(OBJBINDIR)epj2make$(E))
- $(call rmq,$(OBJBINDIR)ide$(E))
- $(call rmq,$(OBJBINDIR)documentor$(E))
-ifdef EDASQLiteCipher
- $(call rmq,$(OBJBINDIR)CodeGuard$(E))
+ $(call rm,$(OBJBINDIR)ear$(E))
+ $(call rm,$(OBJBINDIR)ecc$(E))
+ $(call rm,$(OBJBINDIR)ecp$(E))
+ $(call rm,$(OBJBINDIR)ecs$(E))
+ $(call rm,$(OBJBINDIR)epj2make$(E))
+ $(call rm,$(OBJBINDIR)ide$(E))
+ $(call rm,$(OBJBINDIR)documentor$(E))
+ifdef CodeGuard
+ $(call rm,$(OBJBINDIR)CodeGuard$(E))
+endif
+
+cleantarget:
+ cd compiler && $(MAKE) cleantarget
+ cd documentor && $(MAKE) cleantarget
+ cd ear && $(MAKE) cleantarget
+ cd ecere && $(MAKE) cleantarget
+ cd eda && $(MAKE) cleantarget
+ cd epj2make && $(MAKE) cleantarget
+ cd ide && $(MAKE) cleantarget
+ cd installer && $(MAKE) cleantarget
+ifneq ($(ECERE_AUDIO),n)
+ cd audio && $(MAKE) cleantarget
+endif
+
+pots: cleantarget
+ $(MAKE) OUTPUT_POT=1
+ cd installer && $(MAKE) OUTPUT_POT=1 pots
+
+ifdef WINDOWS_TARGET
+installer:
+ $(MAKE) prepinstall ARCH=
+ $(MAKE) prepinstall ARCH=x32
+ @$(call echo,Building Ecere runtime for installer...)
+ cd ecere && @$(MAKE) -f Makefile.installer ARCH=x32
+ @$(call echo,Building Installer for Windows...)
+ cd installer && @$(MAKE) ARCH=x32
+ @$(call echo,The Ecere SDK Windows Installer is fully built.)
endif
clean: emptyoutput
cd epj2make && $(MAKE) clean
cd ide && $(MAKE) clean
cd documentor && $(MAKE) clean
+ifneq ($(ECERE_AUDIO),n)
+ cd audio && $(MAKE) clean
+endif
ifdef CodeGuard
cd codeGuard && $(MAKE) clean
endif
cd epj2make && $(MAKE) realclean
cd ide && $(MAKE) realclean
cd documentor && $(MAKE) realclean
+ifneq ($(ECERE_AUDIO),n)
+ cd audio && $(MAKE) realclean
+endif
ifdef CodeGuard
cd codeGuard && $(MAKE) realclean
endif
cd eda && $(MAKE) realclean
- $(call rmrq,obj/$(PLATFORM)/)
+ $(call rmr,obj/$(PLATFORM)/)
@$(call echo,Done.)
distclean: outputdirs
cd epj2make && $(MAKE) distclean
cd ide && $(MAKE) distclean
cd documentor && $(MAKE) distclean
+ifneq ($(ECERE_AUDIO),n)
+ cd audio && $(MAKE) distclean
+endif
ifdef CodeGuard
cd codeGuard && $(MAKE) distclean
endif
cd eda && $(MAKE) distclean
- $(call rmrq,obj/)
+ $(call rmr,obj/)
@$(call echo,Done.)
-DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
+DOC = doc
BINARIES = \
ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
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)
+ifneq ($(ECERE_AUDIO),n)
+BINARIES += audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV)
+endif
+
ifdef CodeGuard
BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E)
endif
prepinstall: $(DOC) $(BINARIES) outputdirs
ifdef WINDOWS_TARGET
- $(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))
+ $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJBINDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJBINDIR))
+ $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJBINDIR))
+ $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJBINDIR))
+ $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJBINDIR))
+ifneq ($(ECERE_AUDIO),n)
+ $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJBINDIR))
+endif
ifdef EDASQLiteCipher
- $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJBINDIR))
+ $(call cp,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)$(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))
+ $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV),$(OBJLIBDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV),$(OBJLIBDIR))
+ $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV),$(OBJLIBDIR))
+ $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV),$(OBJLIBDIR))
+ $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV),$(OBJLIBDIR))
+ifneq ($(ECERE_AUDIO),n)
+ $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SOV),$(OBJLIBDIR))
+endif
ifdef EDASQLiteCipher
- $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV),$(OBJLIBDIR))
+ $(call cp,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
ifdef EDASQLiteCipher
ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO).0
endif
+ifneq ($(ECERE_AUDIO),n)
+ ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO).0
+endif
+
ln -sf $(LP)ecere$(SOV) $(OBJLIBDIR)$(LP)ecere$(SO)
ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO)
ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO)
ifdef EDASQLiteCipher
ln -sf $(LP)EDASQLiteCipher$(SOV) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO)
endif
+ ln -sf $(LP)EcereAudio$(SOV) $(OBJLIBDIR)$(LP)EcereAudio$(SO)
endif
ifndef WINDOWS_TARGET
ifndef LINUX_TARGET
- $(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))
+ $(call cp,ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SO),$(OBJLIBDIR))
+ $(call cp,ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SO),$(OBJLIBDIR))
+ $(call cp,compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO),$(OBJLIBDIR))
+ $(call cp,eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SO),$(OBJLIBDIR))
+ $(call cp,eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SO),$(OBJLIBDIR))
+ifneq ($(ECERE_AUDIO),n)
+ $(call cp,audio/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EcereAudio$(SO),$(OBJLIBDIR))
+endif
ifdef EDASQLiteCipher
- $(call cpq,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
+ $(call cp,eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SO),$(OBJLIBDIR))
endif
endif
endif
- $(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))
+ $(call cp,ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E),$(OBJBINDIR))
+ $(call cp,ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E),$(OBJBINDIR))
+ $(call cp,compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E),$(OBJBINDIR))
+ $(call cp,compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E),$(OBJBINDIR))
+ $(call cp,compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E),$(OBJBINDIR))
+ $(call cp,epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E),$(OBJBINDIR))
+ $(call cp,documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E),$(OBJBINDIR))
ifdef CodeGuard
- $(call cpq,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
+ $(call cp,codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E),$(OBJBINDIR))
endif
- $(call cpq,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
+ $(call cp,ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A),$(OBJLIBDIR))
#TODO: Samples?
install: prepinstall actualinstall
actualinstall:
ifdef WINDOWS_TARGET
- $(call mkdirq,"$(BINDIR)/")
- $(call mkdirq,"$(DESTSLIBDIR)/")
- $(call mkdirq,"$(DOCDIR)/")
- $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
- $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
- $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
- $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
- $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
+ $(call mkdir,"$(BINDIR)/")
+ $(call mkdir,"$(DESTSLIBDIR)/")
+ $(call mkdir,"$(DOCDIR)/")
+ $(call cp,$(OBJBINDIR)$(LP)ecere$(SO),"$(DESTLIBDIR)/")
+ $(call cp,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(DESTLIBDIR)/")
+ $(call cp,$(OBJBINDIR)$(LP)ec$(SO),"$(DESTLIBDIR)/")
+ $(call cp,$(OBJBINDIR)$(LP)EDA$(SO),"$(DESTLIBDIR)/")
+ $(call cp,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(DESTLIBDIR)/")
ifdef EDASQLiteCipher
- $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
-endif
- $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
- $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
- $(call cpq,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
- $(call cpq,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
- $(call cpq,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
- $(call cpq,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
- $(call cpq,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/")
+endif
+ifneq ($(ECERE_AUDIO),n)
+ $(call cp,$(OBJBINDIR)$(LP)EcereAudio$(SO),"$(DESTLIBDIR)/")
+endif
+ $(call cp,$(OBJBINDIR)ide$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)ear$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)ecc$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)ecp$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)ecs$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)epj2make$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)documentor$(E),"$(BINDIR)/")
ifdef CodeGuard
- $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
+ $(call cp,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/")
endif
- $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
- $(call cpq,doc/tao.pdf,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf") || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
- $(call cpq,doc/ecere.eCdoc,"$(DOCDIR)/")
- $(call cpq,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
- $(call cpq,doc/EDA.eCdoc,"$(DOCDIR)/")
+ $(call cp,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
+ $(call cp,doc/tao.pdf,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf") || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
+ $(call cpr,$(DOC)/*.econ,"$(DOCDIR)/")
endif
ifdef OSX_TARGET
ifdef EDASQLiteCipher
install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/
endif
+ifneq ($(ECERE_AUDIO),n)
+ install $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/
+endif
install $(OBJBINDIR)ide$(E) $(BINDIR)/
install $(OBJBINDIR)ear$(E) $(BINDIR)/
install $(OBJBINDIR)ecc$(E) $(BINDIR)/
install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
install -d $(DOCDIR)/
install doc/tao.pdf $(DOCDIR)/"Ecere Tao of Programming [work in progress].pdf" >/dev/null 2>&1 || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
- install doc/ecere.eCdoc $(DOCDIR)/
- install doc/ecereCOM.eCdoc $(DOCDIR)/
- install doc/EDA.eCdoc $(DOCDIR)/
+ $(call cpr,$(DOC)/*.econ,"$(DOCDIR)/")
mkdir -p $(MANDIR)/man1
cp -pRf share/man/man1/* $(MANDIR)/man1
mkdir -p $(SAMPLESDIR)
find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
mkdir -p $(EXTRASDIR)
cp -pRf extras/* $(EXTRASDIR)
- chmod 777 $(EXTRASDIR)/audio
endif
ifndef OSX_TARGET
ifdef EDASQLiteCipher
install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)
endif
+ifneq ($(ECERE_AUDIO),n)
+ install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(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
ifdef EDASQLiteCipher
ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0
endif
+ifneq ($(ECERE_AUDIO),n)
+ ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(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)
ifdef EDASQLiteCipher
ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)
endif
+ifneq ($(ECERE_AUDIO),n)
+ ln -sf $(LP)EcereAudio$(SOV) $(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)
+endif
ifndef BSD_HOST
install $(INSTALL_FLAGS) -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png
install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop
else
install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/$(LP)ecere$(SO)
install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/$(LP)ecereCOM$(SO)
- install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/$(LP)ec$(SO)
- install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/$(LP)EDA$(SO)
- install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
-ifdef EDASQLiteCipher
- install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)
-endif
endif
install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E)
install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E)
ifdef BSD_HOST
install $(INSTALL_FLAGS) -d $(DOCDIR)
endif
- install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
install $(INSTALL_FLAGS) -m 644 doc/tao.pdf $(DOCDIR)/"Ecere Tao of Programming [work in progress].pdf" >/dev/null 2>&1 || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
- install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
- install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
- install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
+ $(call cpr,$(DOC)/*.econ,"$(DOCDIR)/")
mkdir -p $(MANDIR)/man1
cp -pRf share/man/man1/* $(MANDIR)/man1
mkdir -p $(SAMPLESDIR)
find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
mkdir -p $(EXTRASDIR)
cp $(CPFLAGS) extras/* $(EXTRASDIR)
- chmod 777 $(EXTRASDIR)/audio
ifdef DEBIAN_PACKAGE
mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0
install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog
ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/
mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0
ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/libecereaudio0
+ ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecereaudio0/
endif
endif
endif
uninstall:
- $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
+ $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SO)")
+ $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO)")
+ $(call rm,"$(DESTLIBDIR)/$(LP)ec$(SO)")
+ $(call rm,"$(DESTLIBDIR)/$(LP)EDA$(SO)")
+ifdef LINUX_TARGET
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)")
ifdef EDASQLiteCipher
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
-endif
- $(call rmq,"$(BINDIR)/ide$(E)")
- $(call rmq,"$(BINDIR)/ear$(E)")
- $(call rmq,"$(BINDIR)/ecc$(E)")
- $(call rmq,"$(BINDIR)/ecp$(E)")
- $(call rmq,"$(BINDIR)/ecs$(E)")
- $(call rmq,"$(BINDIR)/epj2make$(E)")
- $(call rmq,"$(BINDIR)/documentor$(E)")
-ifdef CodeGuard
- $(call rmq,"$(BINDIR)/CodeGuard$(E)")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO)")
endif
- $(call rmq,"$(DESTSLIBDIR)/libecereVanilla$(A)")
- $(call rmq,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
- $(call rmq,"$(DOCDIR)/ecere.eCdoc")
- $(call rmq,"$(DOCDIR)/ecereCOM.eCdoc")
- $(call rmq,"$(DOCDIR)/EDA.eCdoc")
-ifdef LINUX_TARGET
- $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
- $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
- $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SO).0")
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SO).0")
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO).0")
+ifneq ($(ECERE_AUDIO),n)
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SO)")
+endif
+else
+ $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLite$(SO)")
ifdef EDASQLiteCipher
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0")
+ $(call rm,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)")
+endif
+ifneq ($(ECERE_AUDIO),n)
+ $(call rm,"$(DESTLIBDIR)/$(LP)EcereAudio$(SO)")
+endif
endif
- $(call rmq,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)ec$(SOV)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDA$(SOV)")
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLite$(SOV)")
+ $(call rm,"$(BINDIR)/ide$(E)")
+ $(call rm,"$(BINDIR)/ear$(E)")
+ $(call rm,"$(BINDIR)/ecc$(E)")
+ $(call rm,"$(BINDIR)/ecp$(E)")
+ $(call rm,"$(BINDIR)/ecs$(E)")
+ $(call rm,"$(BINDIR)/epj2make$(E)")
+ $(call rm,"$(BINDIR)/documentor$(E)")
+ifdef CodeGuard
+ $(call rm,"$(BINDIR)/CodeGuard$(E)")
+endif
+ $(call rm,"$(DESTSLIBDIR)/libecereVanilla$(A)")
+ $(call rm,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf")
+ $(call rm,"$(DOCDIR)/ecere.eCdoc")
+ $(call rm,"$(DOCDIR)/ecereCOM.eCdoc")
+ $(call rm,"$(DOCDIR)/EDA.eCdoc")
+ $(call rmr,"$(DOCDIR)/ecere")
+ $(call rmr,"$(DOCDIR)/ecereCOM")
+ $(call rmr,"$(DOCDIR)/EDA")
+ifdef LINUX_TARGET
+ $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
+ $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)ec$(SO).0")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDA$(SO).0")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0")
+ifdef EDASQLiteCipher
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SO).0")
+endif
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereaAudio$(SO).0")
+ $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SOV)")
+ $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SOV)")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)ec$(SOV)")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDA$(SOV)")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV)")
ifdef EDASQLiteCipher
- $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)")
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)")
endif
- $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
- $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
+ifneq ($(ECERE_AUDIO),n)
+ $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)")
endif
- $(call rmdirq,"$(BINDIR)/")
- $(call rmdirq,"$(DESTLIBDIR)/")
- $(call rmdirq,"$(DESTSLIBDIR)/")
- $(call rmdirq,"$(DOCDIR)/")
+ $(call rm,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png")
+ $(call rm,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop")
+endif
+ $(call rmdir,"$(BINDIR)/")
+ $(call rmdir,"$(DESTLIBDIR)/")
+ $(call rmdir,"$(DESTSLIBDIR)/")
+ $(call rmdir,"$(DOCDIR)/")
ifdef WINDOWS_TARGET
- $(call rmdirq,"$(DESTDIR)/")
+ $(call rmdir,"$(DESTDIR)/")
endif
@$(call echo,The Ecere SDK has been uninstalled.)
+regenbootstrap: update_ecere update_libec update_ecp update_ecc update_ecs
+ @echo Bootstrap regenerated.
+
+updatebootstrap: regenbootstrap
+ @echo Copying files...
+ $(call cp,ecere/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecere/bootstrap)
+ $(call cp,compiler/libec/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/libec/bootstrap)
+ $(call cp,compiler/ecp/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecp/bootstrap)
+ $(call cp,compiler/ecc/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecc/bootstrap)
+ $(call cp,compiler/ecs/obj/bootstrap.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/*.c,compiler/bootstrap/ecs/bootstrap)
+ @echo Bootstrap updated.
+
+update_ecere:
+ @echo Regenerating ecere bootstrapper...
+ cd ecere && $(MAKE) -f Makefile.bootstrap clean
+ cd ecere && $(MAKE) -f Makefile.bootstrap
+
+update_libec:
+ @echo Regenerating ec bootstrapper...
+ cd compiler/libec && $(MAKE) -f Makefile.bootstrap clean
+ cd compiler/libec && $(MAKE) -f Makefile.bootstrap
+
+update_ecp:
+ @echo Regenerating ecp bootstrapper...
+ cd compiler/ecp && $(MAKE) -f Makefile.bootstrap clean
+ cd compiler/ecp && $(MAKE) -f Makefile.bootstrap
+
+update_ecc:
+ @echo Regenerating ecc bootstrapper...
+ cd compiler/ecc && $(MAKE) -f Makefile.bootstrap clean
+ cd compiler/ecc && $(MAKE) -f Makefile.bootstrap
+
+update_ecs:
+ @echo Regenerating ecs bootstrapper...
+ cd compiler/ecs && $(MAKE) -f Makefile.bootstrap clean
+ cd compiler/ecs && $(MAKE) -f Makefile.bootstrap
+
troubleshoot:
@$(call echo,Printing values of some variables.)
+ @$(call echo,_SDK_SRC_ROOT=$(_SDK_SRC_ROOT))
+ @$(call echo,_CF_DIR=$(_CF_DIR))
@$(call echo,HOST_PLATFORM=$(HOST_PLATFORM))
@$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM))
@$(call echo,PLATFORM=$(PLATFORM))
@$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR))
@$(call echo,ARCH=$(ARCH))
@$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))
+ @$(call echo,GIT_REPOSITORY=$(GIT_REPOSITORY))
+ @$(call echo,DIR_VER=$(DIR_VER))
+ @$(call echo,REPOSITORY_VER=$(REPOSITORY_VER))
+ @$(call echo,CPPFLAGS=$(CPPFLAGS))