X-Git-Url: http://ecere.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=3ac08c4cbabacf101fb8cf8bea9dd64345455126;hb=87a86086a30c85c65de3a8eb9f5ee6ceec6b4b69;hp=596ed56abb8a2db9c89645d6311f556cc44919c2;hpb=5a5cf3b8711d10f5c46d4a19e3bf25033ab34ad1;p=sdk diff --git a/Makefile b/Makefile index 596ed56..3ac08c4 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,10 @@ -.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 +_CF_DIR = + include crossplatform.mk include default.cf @@ -18,6 +20,20 @@ XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATF 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 @@ -30,8 +46,8 @@ SOV := $(SO) ifndef DESTDIR -ifeq "$(TARGET_ARCH)" "x86_64" - ifneq "$(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 @@ -101,7 +117,7 @@ export DOCDIR=$(DESTDIR)$(prefix)/share/ecere/doc endif ifndef MANDIR -export MANDIR=$(DESTDIR)$(prefix)/share/man/ +export MANDIR=$(DESTDIR)$(prefix)/share/man endif ifndef BINDIR @@ -113,11 +129,11 @@ ifdef LIBDIR else export PREFIXLIBDIR=$(prefix)/lib/$(TARGET_ARCH) - ifeq "$(wildcard $(prefix)/lib/$(TARGET_ARCH) )" "" + ifeq ($(wildcard $(prefix)/lib/$(TARGET_ARCH) ),) export PREFIXLIBDIR=$(prefix)/lib - ifeq "$(TARGET_ARCH)" "i386-linux-gnu" - ifneq "$(wildcard $(prefix)/lib32 )" "" + ifeq ($(TARGET_ARCH),i386-linux-gnu) + ifneq ($(wildcard $(prefix)/lib32 ),) export PREFIXLIBDIR=$(prefix)/lib32 endif endif @@ -153,32 +169,32 @@ XOBJDIR := obj$(OBJALT)/ 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 - cd compiler && $(MAKE) $(XBOOT) bootstrap + +cd compiler && $(_MAKE) $(XBOOT) bootstrap deps: ifdef CROSS_TARGET ifndef LINUX_HOST @$(call echo,Building dependencies (host)...) - cd deps && $(MAKE) $(XBOOT) + +cd deps && $(_MAKE) $(XBOOT) endif endif ifndef LINUX_TARGET @$(call echo,Building dependencies...) - cd deps && $(MAKE) + +cd deps && $(_MAKE) endif ecere: bootstrap deps @@ -187,53 +203,53 @@ ifdef CROSS_TARGET else @$(call echo,Building 2nd stage ecere...) endif - cd ecere && $(MAKE) nores $(XBOOT) - cd ear && $(MAKE) nores $(XBOOT) - cd ecere && $(MAKE) cleaneceretarget + +cd ecere && $(_MAKE) nores $(XBOOT) + +cd ear && $(_MAKE) nores $(XBOOT) + +cd ecere && $(_MAKE) cleaneceretarget ifdef CROSS_TARGET @$(call echo,Building 2nd stage ecere...) endif - cd ecere && $(MAKE) + +cd ecere && $(_MAKE) ecerecom: bootstrap ifdef CROSS_TARGET @$(call echo,Building eC Core Runtime (host)...) - cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT) + +cd ecere && $(_MAKE) -f Makefile.ecereCOM $(XBOOT) endif @$(call echo,Building eC Core Runtime...) - cd ecere && $(MAKE) -f Makefile.ecereCOM + +cd ecere && $(_MAKE) -f Makefile.ecereCOM ecerevanilla: bootstrap @$(call echo,Building Vanilla Ecere...) - cd ecere && $(MAKE) -f Makefile.vanilla + +cd ecere && $(_MAKE) -f Makefile.vanilla ear: ecere ecerevanilla @$(call echo,Building ear...) - cd ear && cd cmd && $(MAKE) cleantarget - cd ear && $(MAKE) + +cd ear && cd cmd && $(_MAKE) cleantarget + +cd ear && $(_MAKE) fixprecompile: - cd compiler && $(MAKE) fixprecompile + +cd compiler && $(_MAKE) fixprecompile compiler: ecere ear ifdef CROSS_TARGET @$(call echo,Building 2nd stage compiler (host)) - cd compiler && $(MAKE) $(XBOOT) + +cd compiler && $(_MAKE) $(XBOOT) endif @$(call echo,Building 2nd stage compiler) - cd compiler && $(MAKE) + +cd compiler && $(_MAKE) 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 @@ -243,27 +259,27 @@ ifdef LINUX_TARGET 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 @@ -273,149 +289,193 @@ ifdef WINDOWS_HOST 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 epj2make: prepbinaries @$(call echo,Building epj2make...) - cd epj2make && $(MAKE) + +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) + +cd ide && $(_MAKE) documentor: prepbinaries @$(call echo,Building Documentor...) - cd documentor && $(MAKE) + +cd documentor && $(_MAKE) codeguard: prepcodeguard ifdef CodeGuard @$(call echo,Building CodeGuard client...) - cd codeGuard && $(MAKE) + +cd codeGuard && $(_MAKE) endif 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) + +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 - $(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)) +ifneq ($(ECERE_AUDIO),n) + $(call rm,$(SODESTDIR)$(LP)EcereAudio$(SO).0) +endif + $(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)ecere-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 ifndef LINUX_TARGET - cd deps && $(MAKE) clean -endif - cd ecere && $(MAKE) clean - cd compiler && $(MAKE) clean - cd ear && $(MAKE) clean - cd epj2make && $(MAKE) clean - cd ide && $(MAKE) clean - cd documentor && $(MAKE) clean + +cd deps && $(_MAKE) clean +endif + +cd ecere && $(_MAKE) clean + +cd compiler && $(_MAKE) clean + +cd ear && $(_MAKE) clean + +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 + +cd codeGuard && $(_MAKE) clean endif - cd eda && $(MAKE) clean + +cd eda && $(_MAKE) clean @$(call echo,Done.) realclean: outputdirs ifndef LINUX_TARGET - cd deps && $(MAKE) realclean -endif - cd ecere && $(MAKE) realclean - cd compiler && $(MAKE) realclean - cd ear && $(MAKE) realclean - cd epj2make && $(MAKE) realclean - cd ide && $(MAKE) realclean - cd documentor && $(MAKE) realclean + +cd deps && $(_MAKE) realclean +endif + +cd ecere && $(_MAKE) realclean + +cd compiler && $(_MAKE) realclean + +cd ear && $(_MAKE) realclean + +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 + +cd codeGuard && $(_MAKE) realclean endif - cd eda && $(MAKE) realclean - $(call rmrq,obj/$(PLATFORM)/) + +cd eda && $(_MAKE) realclean + $(call rmr,obj/$(PLATFORM)/) @$(call echo,Done.) -distclean: outputdirs -ifndef LINUX_TARGET - cd deps && $(MAKE) distclean -endif - cd ecere && $(MAKE) distclean - cd compiler && $(MAKE) distclean - cd ear && $(MAKE) distclean - cd epj2make && $(MAKE) distclean - cd ide && $(MAKE) distclean - cd documentor && $(MAKE) distclean -ifdef CodeGuard - cd codeGuard && $(MAKE) distclean -endif - cd eda && $(MAKE) distclean - $(call rmrq,obj/) +distclean: + $(MAKE) -f Cleanfile distclean distclean_all_subdirs @$(call echo,Done.) -DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc +DOC = doc + +Makefile: ; +crossplatform.mk: ; +default.cf: ; BINARIES = \ ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \ @@ -428,10 +488,14 @@ BINARIES = \ 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) \ + ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecere-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) +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 @@ -447,24 +511,30 @@ 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 @@ -474,6 +544,10 @@ endif 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) @@ -482,32 +556,36 @@ endif 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)/ecere-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 @@ -518,32 +596,35 @@ copyonlyinstall: 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)ecere-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)/ecereCOM,"$(DOCDIR)/ecereCOM") + $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere") + $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA") endif ifdef OSX_TARGET @@ -555,7 +636,10 @@ ifdef OSX_TARGET ifdef EDASQLiteCipher install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/ endif - install $(OBJBINDIR)ide$(E) $(BINDIR)/ +ifneq ($(ECERE_AUDIO),n) + install $(OBJLIBDIR)$(LP)EcereAudio$(SO) $(DESTLIBDIR)/ +endif + install $(OBJBINDIR)ecere-ide$(E) $(BINDIR)/ install $(OBJBINDIR)ear$(E) $(BINDIR)/ install $(OBJBINDIR)ecc$(E) $(BINDIR)/ install $(OBJBINDIR)ecp$(E) $(BINDIR)/ @@ -568,17 +652,18 @@ endif 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)/ecereCOM,"$(DOCDIR)/ecereCOM") + $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere") + $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA") mkdir -p $(MANDIR)/man1 - cp -pRf share/man/man1/* $(MANDIR)/man1 + $(call cpr,share/man/man1,$(MANDIR)/man1) mkdir -p $(SAMPLESDIR) - cp -pRf samples/* $(SAMPLESDIR) + $(call cpr,samples,$(SAMPLESDIR)) find $(SAMPLESDIR) -type d -exec chmod 777 {} \; + find $(DOCDIR) -type d -exec chmod 755 {} \; + find $(DOCDIR) -type f -exec chmod 644 {} \; mkdir -p $(EXTRASDIR) - cp -pRf extras/* $(EXTRASDIR) - chmod 777 $(EXTRASDIR)/audio + $(call cpr,extras,$(EXTRASDIR)) endif ifndef OSX_TARGET @@ -593,6 +678,9 @@ ifdef LINUX_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 @@ -601,6 +689,9 @@ endif 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) @@ -611,6 +702,9 @@ endif 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 @@ -618,14 +712,8 @@ endif 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)ecere-ide$(E) $(BINDIR)/ecere-ide$(E) install $(INSTALL_FLAGS) $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E) install $(INSTALL_FLAGS) $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E) install $(INSTALL_FLAGS) $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E) @@ -639,19 +727,19 @@ endif 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)/ecereCOM,"$(DOCDIR)/ecereCOM") + $(call cpr,$(DOC)/ecere,"$(DOCDIR)/ecere") + $(call cpr,$(DOC)/EDA,"$(DOCDIR)/EDA") mkdir -p $(MANDIR)/man1 cp -pRf share/man/man1/* $(MANDIR)/man1 mkdir -p $(SAMPLESDIR) cp -pRf samples/* $(SAMPLESDIR) find $(SAMPLESDIR) -type d -exec chmod 777 {} \; + find $(DOCDIR) -type d -exec chmod 755 {} \; + find $(DOCDIR) -type f -exec chmod 644 {} \; 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 @@ -672,65 +760,125 @@ ifdef DEBIAN_PACKAGE 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 - $(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)") +ifneq ($(ECERE_AUDIO),n) + $(call rm,"$(DESTLIBDIR)/$(LP)EcereAudio$(SO)") +endif +endif + $(call rm,"$(BINDIR)/ecere-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 rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)") + $(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 rm,"$(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV)") +endif +ifneq ($(ECERE_AUDIO),n) + $(call rm,"$(DESTLIBDIR)/ec/$(LP)EcereAudio$(SOV)") endif - $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png") - $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop") + $(call rm,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png") + $(call rm,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop") endif - $(call rmdirq,"$(BINDIR)/") - $(call rmdirq,"$(DESTLIBDIR)/") - $(call rmdirq,"$(DESTSLIBDIR)/") - $(call rmdirq,"$(DOCDIR)/") + $(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,_CF_DIR=$(_CF_DIR)) @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM)) @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM)) @$(call echo,PLATFORM=$(PLATFORM)) @@ -742,6 +890,13 @@ troubleshoot: @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET)) @$(call echo,BSD_HOST=$(BSD_HOST)) @$(call echo,BSD_TARGET=$(BSD_TARGET)) + @$(call echo,OS=$(OS)) + @$(call echo,OSTYPE=$(OSTYPE)) + @$(call echo,BASH=$(BASH)) + @$(call echo,TERM=$(TERM)) + @$(call echo,SHELL=$(SHELL)) + @$(call echo,WIN_SHELL_COMMANDS=$(WIN_SHELL_COMMANDS)) + @$(call echo,WIN_PS_TOOLS=$(WIN_PS_TOOLS)) @$(call echo,CCACHE=$(CCACHE)) @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE)) @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX)) @@ -763,3 +918,11 @@ troubleshoot: @$(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)) + @$(call echo,OPENSSL_CONF=$(OPENSSL_CONF)) + @$(call echo,OPENSSL_INCLUDE_DIR=$(OPENSSL_INCLUDE_DIR)) + @$(call echo,OPENSSL_LIB_DIR=$(OPENSSL_LIB_DIR)) + @$(call echo,OPENSSL_BIN_DIR=$(OPENSSL_BIN_DIR))