X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=596ed56abb8a2db9c89645d6311f556cc44919c2;hb=refs%2Fheads%2F850;hp=798223f40655310ed73adc34fd02cc5547ab111b;hpb=9fb340faabd303c49de10352de5aa7a646264105;p=sdk diff --git a/Makefile b/Makefile index 798223f..596ed56 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,51 @@ -.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 +.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" .SILENT: +endif + +include crossplatform.mk +include default.cf -include include.mk +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 -ifdef WINDOWS +ifdef WINDOWS_HOST +HOST_SOV := $(HOST_SO) +else +HOST_SOV := $(HOST_SO)$(LIBVER) +endif + +ifdef WINDOWS_TARGET SOV := $(SO) ifndef DESTDIR -ifdef ProgramFiles(x86) -export DESTDIR=${ProgramFiles(x86)}/Ecere SDK -else -ifdef ProgramFiles -export DESTDIR=$(ProgramFiles)/Ecere SDK +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 -export DESTDIR=$(SystemDrive)/Ecere SDK -endif + 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 @@ -36,10 +63,12 @@ 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 @@ -50,9 +79,14 @@ export EXTRASDIR=$(DESTDIR)$(prefix)/extras endif -else # WINDOWS +else # WINDOWS_TARGET +ifdef OSX_TARGET +# TODO: OSX soname +SOV := $(SO) +else SOV := $(SO)$(LIBVER) +endif ifndef DESTDIR export DESTDIR= @@ -74,24 +108,31 @@ ifndef BINDIR export BINDIR=$(DESTDIR)$(prefix)/bin endif -HOSTTYPE := $(shell uname -m) - -ifndef LIBDIR -ifeq "$(HOSTTYPE)" "x86_64" -export LIBDIR=$(DESTDIR)$(prefix)/lib32 -export PREFIXLIBDIR=$(prefix)/lib32 +ifdef LIBDIR + export PREFIXLIBDIR=$(LIBDIR) else -export LIBDIR=$(DESTDIR)$(prefix)/lib -export PREFIXLIBDIR=$(prefix)/lib -endif + 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 -ifndef SLIBDIR -ifeq "$(HOSTTYPE)" "x86_64" -export SLIBDIR=$(DESTDIR)$(prefix)/lib32 +export CPPFLAGS +CPPFLAGS += -DDEB_HOST_MULTIARCH=\"$(call escspace,$(PREFIXLIBDIR))\" + +DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR) +ifdef SLIBDIR +DESTSLIBDIR := $(DESTDIR)$(SLIBDIR) else -export SLIBDIR=$(DESTDIR)$(prefix)/lib -endif +DESTSLIBDIR := $(DESTLIBDIR) endif ifndef SAMPLESDIR @@ -106,8 +147,11 @@ endif endif OBJDIR := obj$(OBJALT)/ -OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/ -OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/ +OBJBINDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/ +OBJLIBDIR := $(OBJDIR)$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/lib/ +XOBJDIR := obj$(OBJALT)/ +XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)$(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.) @@ -116,22 +160,46 @@ outputdirs: $(if $(wildcard $(OBJDIR)),,$(call mkdirq,$(OBJDIR))) $(if $(wildcard $(OBJBINDIR)),,$(call mkdirq,$(OBJBINDIR))) $(if $(wildcard $(OBJLIBDIR)),,$(call mkdirq,$(OBJLIBDIR))) +ifdef CROSS_TARGET + $(if $(wildcard $(XOBJDIR)),,$(call mkdirq,$(XOBJDIR))) + $(if $(wildcard $(XOBJBINDIR)),,$(call mkdirq,$(XOBJBINDIR))) + $(if $(wildcard $(XOBJLIBDIR)),,$(call mkdirq,$(XOBJLIBDIR))) +endif bootstrap: outputdirs - cd compiler && $(MAKE) bootstrap + cd compiler && $(MAKE) $(XBOOT) bootstrap deps: +ifdef CROSS_TARGET +ifndef LINUX_HOST + @$(call echo,Building dependencies (host)...) + cd deps && $(MAKE) $(XBOOT) +endif +endif +ifndef LINUX_TARGET @$(call echo,Building dependencies...) cd deps && $(MAKE) +endif ecere: bootstrap deps +ifdef CROSS_TARGET + @$(call echo,Building 2nd stage ecere (host)...) +else + @$(call echo,Building 2nd stage ecere...) +endif + cd ecere && $(MAKE) nores $(XBOOT) + cd ear && $(MAKE) nores $(XBOOT) + cd ecere && $(MAKE) cleaneceretarget +ifdef CROSS_TARGET @$(call echo,Building 2nd stage ecere...) - cd ecere && $(MAKE) nores - cd ear && $(MAKE) nores - cd ecere && $(MAKE) cleantarget +endif cd ecere && $(MAKE) ecerecom: bootstrap +ifdef CROSS_TARGET + @$(call echo,Building eC Core Runtime (host)...) + cd ecere && $(MAKE) -f Makefile.ecereCOM $(XBOOT) +endif @$(call echo,Building eC Core Runtime...) cd ecere && $(MAKE) -f Makefile.ecereCOM @@ -144,21 +212,28 @@ ear: ecere ecerevanilla cd ear && cd cmd && $(MAKE) cleantarget cd ear && $(MAKE) +fixprecompile: + cd compiler && $(MAKE) fixprecompile + compiler: ecere ear +ifdef CROSS_TARGET + @$(call echo,Building 2nd stage compiler (host)) + cd compiler && $(MAKE) $(XBOOT) +endif @$(call echo,Building 2nd stage compiler) cd compiler && $(MAKE) prepbinaries: compiler ecerecom @$(call echo,Enabling 2nd stage binaries...) -ifdef WINDOWS - $(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)) -endif -ifdef LINUX - $(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)) +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)) +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)) 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 @@ -166,17 +241,49 @@ ifdef LINUX ln -sf $(LP)ecereCOM$(SOV) $(OBJLIBDIR)$(LP)ecereCOM$(SO) ln -sf $(LP)ec$(SOV) $(OBJLIBDIR)$(LP)ec$(SO) endif -ifndef WINDOWS -ifndef LINUX - $(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)) +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)) +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)) + +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)) +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)) + 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 + ln -sf $(HOST_LP)ecere$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecere$(HOST_SO) + ln -sf $(HOST_LP)ecereCOM$(HOST_SOV) $(XOBJLIBDIR)$(LP)ecereCOM$(HOST_SO) + ln -sf $(HOST_LP)ec$(HOST_SOV) $(XOBJLIBDIR)$(LP)ec$(HOST_SO) +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)) 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.$(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 epj2make: prepbinaries @$(call echo,Building epj2make...) @@ -198,18 +305,18 @@ endif prepcodeguard: eda ifdef CodeGuard -ifdef WINDOWS +ifdef WINDOWS_TARGET $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJBINDIR)) endif -ifdef LINUX +ifdef LINUX_TARGET $(call cpq,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 -ifndef LINUX +ifndef WINDOWS_TARGET +ifndef LINUX_TARGET $(call cpq,eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SO),$(OBJLIBDIR)) endif endif @@ -229,7 +336,7 @@ emptyoutput: outputdirs ifdef EDASQLiteCipher $(call rmq,$(SODESTDIR)$(LP)EDASQLiteCipher$(SO)) endif -ifdef LINUX +ifdef LINUX_TARGET $(call rmq,$(SODESTDIR)$(LP)ecere$(SO).0) $(call rmq,$(SODESTDIR)$(LP)ecereCOM$(SO).0) $(call rmq,$(SODESTDIR)$(LP)ec$(SO).0) @@ -259,7 +366,9 @@ ifdef EDASQLiteCipher endif clean: emptyoutput +ifndef LINUX_TARGET cd deps && $(MAKE) clean +endif cd ecere && $(MAKE) clean cd compiler && $(MAKE) clean cd ear && $(MAKE) clean @@ -272,8 +381,10 @@ endif cd eda && $(MAKE) clean @$(call echo,Done.) -realclean: +realclean: outputdirs +ifndef LINUX_TARGET cd deps && $(MAKE) realclean +endif cd ecere && $(MAKE) realclean cd compiler && $(MAKE) realclean cd ear && $(MAKE) realclean @@ -287,8 +398,10 @@ endif $(call rmrq,obj/$(PLATFORM)/) @$(call echo,Done.) -distclean: +distclean: outputdirs +ifndef LINUX_TARGET cd deps && $(MAKE) distclean +endif cd ecere && $(MAKE) distclean cd compiler && $(MAKE) distclean cd ear && $(MAKE) distclean @@ -305,26 +418,26 @@ endif DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc BINARIES = \ - ecere/obj/release.$(PLATFORM)/$(LP)ecere$(SOV) \ - ecere/obj/ecereCOM.release.$(PLATFORM)/$(LP)ecereCOM$(SOV) \ - ecere/obj/vanilla.$(PLATFORM)/libecereVanilla$(A) \ - compiler/libec/obj/release.$(PLATFORM)/$(LP)ec$(SOV) \ - compiler/ecp/obj/release.$(PLATFORM)/ecp$(E) \ - compiler/ecc/obj/release.$(PLATFORM)/ecc$(E) \ - compiler/ecs/obj/release.$(PLATFORM)/ecs$(E) \ - ear/cmd/obj/release.$(PLATFORM)/ear$(E) \ - epj2make/obj/release.$(PLATFORM)/epj2make$(E) \ - documentor/obj/release.$(PLATFORM)/documentor$(E) \ - ide/obj/release.$(PLATFORM)/ide$(E) \ - eda/libeda/obj/release.$(PLATFORM)/$(LP)EDA$(SOV) \ - eda/drivers/sqlite/obj/release.$(PLATFORM)/$(LP)EDASQLite$(SOV) + ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \ + ecere/obj/ecereCOM.release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereCOM$(SOV) \ + ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/libecereVanilla$(A) \ + compiler/libec/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SOV) \ + compiler/ecp/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E) \ + compiler/ecc/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E) \ + compiler/ecs/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E) \ + ear/cmd/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ear$(E) \ + epj2make/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/epj2make$(E) \ + documentor/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/documentor$(E) \ + ide/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ide$(E) \ + eda/libeda/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDA$(SOV) \ + eda/drivers/sqlite/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLite$(SOV) ifdef CodeGuard -BINARIES += codeGuard/obj/release.$(PLATFORM)/CodeGuard$(E) +BINARIES += codeGuard/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/CodeGuard$(E) endif ifdef EDASQLiteCipher -BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)/$(LP)EDASQLiteCipher$(SOV) +BINARIES += eda/drivers/sqliteCipher/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)EDASQLiteCipher$(SOV) endif # Making sure everything is in $(OBJBINDIR) and $(OBJLIBDIR) @@ -333,25 +446,25 @@ endif # Binaries (always in $(OBJBINDIR)) and Static Libraries (always in $(OBJLIBDIR)) prepinstall: $(DOC) $(BINARIES) outputdirs -ifdef WINDOWS - $(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)) +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)) 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 - $(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)) +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)) 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 @@ -371,30 +484,30 @@ ifdef EDASQLiteCipher endif endif -ifndef WINDOWS -ifndef LINUX - $(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)) +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)) 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 @@ -404,17 +517,17 @@ copyonlyinstall: actualinstall @$(call echo,The Ecere SDK has been installed. copyonlyinstall.) actualinstall: -ifdef WINDOWS +ifdef WINDOWS_TARGET $(call mkdirq,"$(BINDIR)/") - $(call mkdirq,"$(SLIBDIR)/") + $(call mkdirq,"$(DESTSLIBDIR)/") $(call mkdirq,"$(DOCDIR)/") - $(call cpq,$(OBJBINDIR)$(LP)ecere$(SO),"$(LIBDIR)/") - $(call cpq,$(OBJBINDIR)$(LP)ecereCOM$(SO),"$(LIBDIR)/") - $(call cpq,$(OBJBINDIR)$(LP)ec$(SO),"$(LIBDIR)/") - $(call cpq,$(OBJBINDIR)$(LP)EDA$(SO),"$(LIBDIR)/") - $(call cpq,$(OBJBINDIR)$(LP)EDASQLite$(SO),"$(LIBDIR)/") + $(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)/") ifdef EDASQLiteCipher - $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(LIBDIR)/") + $(call cpq,$(OBJBINDIR)$(LP)EDASQLiteCipher$(SO),"$(DESTLIBDIR)/") endif $(call cpq,$(OBJBINDIR)ide$(E),"$(BINDIR)/") $(call cpq,$(OBJBINDIR)ear$(E),"$(BINDIR)/") @@ -426,21 +539,21 @@ endif ifdef CodeGuard $(call cpq,$(OBJBINDIR)CodeGuard$(E),"$(BINDIR)/") endif - $(call cpq,$(OBJLIBDIR)libecereVanilla$(A),"$(SLIBDIR)/") + $(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)/") endif -ifdef OSX - install $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/ - install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/ - install $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/ - install $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/ - install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/ +ifdef OSX_TARGET + install $(OBJLIBDIR)$(LP)ecere$(SO) $(DESTLIBDIR)/ + install $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(DESTLIBDIR)/ + install $(OBJLIBDIR)$(LP)ec$(SO) $(DESTLIBDIR)/ + install $(OBJLIBDIR)$(LP)EDA$(SO) $(DESTLIBDIR)/ + install $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(DESTLIBDIR)/ ifdef EDASQLiteCipher - install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/ + install $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/ endif install $(OBJBINDIR)ide$(E) $(BINDIR)/ install $(OBJBINDIR)ear$(E) $(BINDIR)/ @@ -452,117 +565,125 @@ endif ifdef CodeGuard install $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/ endif - install $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/ + 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)/ - mkdir -p -m 777 $(SAMPLESDIR) + mkdir -p $(MANDIR)/man1 + cp -pRf share/man/man1/* $(MANDIR)/man1 + mkdir -p $(SAMPLESDIR) cp -pRf samples/* $(SAMPLESDIR) - mkdir -p -m 777 $(EXTRASDIR) + find $(SAMPLESDIR) -type d -exec chmod 777 {} \; + mkdir -p $(EXTRASDIR) cp -pRf extras/* $(EXTRASDIR) -endif - -ifndef OSX -ifndef WINDOWS -ifdef LINUX - install -D $(OBJLIBDIR)$(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SOV) - install -D $(OBJLIBDIR)$(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SOV) - install -D $(OBJLIBDIR)$(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SOV) - install -D $(OBJLIBDIR)$(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SOV) - install -D $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SOV) + chmod 777 $(EXTRASDIR)/audio +endif + +ifndef OSX_TARGET +ifndef WINDOWS_TARGET +ifdef LINUX_TARGET + mkdir -p $(DESTLIBDIR)/ec + 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)/ec/$(LP)EDA$(SOV) + install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SOV) ifdef EDASQLiteCipher - install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SOV) + install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLiteCipher$(SOV) endif - ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO).0 - ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO).0 - ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO).0 - ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO).0 - ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO).0 + 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)/ec/$(LP)EDA$(SO).0 + ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO).0 ifdef EDASQLiteCipher - ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0 -endif - ln -sf $(LP)ecere$(SOV) $(LIBDIR)/$(LP)ecere$(SO) - ln -sf $(LP)ecereCOM$(SOV) $(LIBDIR)/$(LP)ecereCOM$(SO) - ln -sf $(LP)ec$(SOV) $(LIBDIR)/$(LP)ec$(SO) - ln -sf $(LP)EDA$(SOV) $(LIBDIR)/$(LP)EDA$(SO) - ln -sf $(LP)EDASQLite$(SOV) $(LIBDIR)/$(LP)EDASQLite$(SO) - mkdir -p -m 777 $(DESTDIR)$(prefix)/lib/ec - ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecere$(SO) - ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ecereCOM$(SO) - ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)ec$(SO) - ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDA$(SO) - ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTDIR)$(prefix)/lib/ec/$(LP)EDASQLite$(SO) + 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)/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) $(LIBDIR)/$(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 + install $(INSTALL_FLAGS) -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop endif - install -D -m 644 share/pixmaps/ecere.png $(DESTDIR)$(prefix)/share/pixmaps/ecere.png - install -D -m 644 share/applications/ecere.desktop $(DESTDIR)$(prefix)/share/applications/ecere.desktop else - install -D $(OBJLIBDIR)$(LP)ecere$(SO) $(LIBDIR)/$(LP)ecere$(SO) - install -D $(OBJLIBDIR)$(LP)ecereCOM$(SO) $(LIBDIR)/$(LP)ecereCOM$(SO) - install -D $(OBJLIBDIR)$(LP)ec$(SO) $(LIBDIR)/$(LP)ec$(SO) - install -D $(OBJLIBDIR)$(LP)EDA$(SO) $(LIBDIR)/$(LP)EDA$(SO) - install -D $(OBJLIBDIR)$(LP)EDASQLite$(SO) $(LIBDIR)/$(LP)EDASQLite$(SO) + 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 -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO) + install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SO) $(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO) endif endif - install -D $(OBJBINDIR)ide$(E) $(BINDIR)/ide$(E) - install -D $(OBJBINDIR)ear$(E) $(BINDIR)/ear$(E) - install -D $(OBJBINDIR)ecc$(E) $(BINDIR)/ecc$(E) - install -D $(OBJBINDIR)ecp$(E) $(BINDIR)/ecp$(E) - install -D $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E) - install -D $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E) - install -D $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E) + install $(INSTALL_FLAGS) $(OBJBINDIR)ide$(E) $(BINDIR)/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) + install $(INSTALL_FLAGS) $(OBJBINDIR)ecs$(E) $(BINDIR)/ecs$(E) + install $(INSTALL_FLAGS) $(OBJBINDIR)epj2make$(E) $(BINDIR)/epj2make$(E) + install $(INSTALL_FLAGS) $(OBJBINDIR)documentor$(E) $(BINDIR)/documentor$(E) ifdef CodeGuard - install -D $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E) -endif - install -D $(OBJLIBDIR)libecereVanilla$(A) $(SLIBDIR)/libecereVanilla$(A) - install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc - install -D -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 -D -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc - install -D -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc - install -D -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc - mkdir -p -m 777 $(MANDIR)/man1 + install $(INSTALL_FLAGS) $(OBJBINDIR)CodeGuard$(E) $(BINDIR)/CodeGuard$(E) +endif + install $(INSTALL_FLAGS) $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/libecereVanilla$(A) +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 + mkdir -p $(MANDIR)/man1 cp -pRf share/man/man1/* $(MANDIR)/man1 - mkdir -p -m 777 $(SAMPLESDIR) + mkdir -p $(SAMPLESDIR) cp -pRf samples/* $(SAMPLESDIR) - mkdir -p -m 777 $(EXTRASDIR) - cp -pRf extras/* $(EXTRASDIR) + find $(SAMPLESDIR) -type d -exec chmod 777 {} \; + mkdir -p $(EXTRASDIR) + cp $(CPFLAGS) extras/* $(EXTRASDIR) + chmod 777 $(EXTRASDIR)/audio ifdef DEBIAN_PACKAGE - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecere0 - install -D -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog - gzip -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-dev + mkdir -p $(DESTDIR)$(prefix)/share/doc/libecere0 + install $(INSTALL_FLAG) -m644 NEWS $(DESTDIR)$(prefix)/share/doc/libecere0/changelog + gzip -n -f -9 $(DESTDIR)$(prefix)/share/doc/libecere0/changelog + mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-dev ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-dev/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-extras - ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-samples - ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-sdk - ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libec0 - ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecerecom0 - ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libeda0 + mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras + cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/ + mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples + cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/ + mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk + cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/ + mkdir -p $(DESTDIR)$(prefix)/share/doc/libecc0 + ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecc0/ + mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0 + cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/ + mkdir -p $(DESTDIR)$(prefix)/share/doc/libeda0 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libeda0/ - mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libedasqlite0 + mkdir -p $(DESTDIR)$(prefix)/share/doc/libedasqlite0 ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libedasqlite0/ endif endif endif uninstall: - $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO)") - $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO)") - $(call rmq,"$(LIBDIR)/$(LP)ec$(SO)") - $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO)") - $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO)") + $(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)") ifdef EDASQLiteCipher - $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO)") + $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO)") endif $(call rmq,"$(BINDIR)/ide$(E)") $(call rmq,"$(BINDIR)/ear$(E)") @@ -574,46 +695,58 @@ endif ifdef CodeGuard $(call rmq,"$(BINDIR)/CodeGuard$(E)") endif - $(call rmq,"$(SLIBDIR)/libecereVanilla$(A)") + $(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 - $(call rmq,"$(LIBDIR)/$(LP)ecere$(SO).0") - $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SO).0") - $(call rmq,"$(LIBDIR)/$(LP)ec$(SO).0") - $(call rmq,"$(LIBDIR)/$(LP)EDA$(SO).0") - $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SO).0") +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") ifdef EDASQLiteCipher - $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SO).0") + $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SO).0") endif - $(call rmq,"$(LIBDIR)/$(LP)ecere$(SOV)") - $(call rmq,"$(LIBDIR)/$(LP)ecereCOM$(SOV)") - $(call rmq,"$(LIBDIR)/$(LP)ec$(SOV)") - $(call rmq,"$(LIBDIR)/$(LP)EDA$(SOV)") - $(call rmq,"$(LIBDIR)/$(LP)EDASQLite$(SOV)") + $(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)") ifdef EDASQLiteCipher - $(call rmq,"$(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)") + $(call rmq,"$(DESTLIBDIR)/$(LP)EDASQLiteCipher$(SOV)") endif $(call rmq,"$(DESTDIR)$(prefix)/share/pixmaps/ecere.png") $(call rmq,"$(DESTDIR)$(prefix)/share/applications/ecere.desktop") endif $(call rmdirq,"$(BINDIR)/") - $(call rmdirq,"$(LIBDIR)/") - $(call rmdirq,"$(SLIBDIR)/") + $(call rmdirq,"$(DESTLIBDIR)/") + $(call rmdirq,"$(DESTSLIBDIR)/") $(call rmdirq,"$(DOCDIR)/") -ifdef WINDOWS +ifdef WINDOWS_TARGET $(call rmdirq,"$(DESTDIR)/") endif @$(call echo,The Ecere SDK has been uninstalled.) troubleshoot: @$(call echo,Printing values of some variables.) + @$(call echo,HOST_PLATFORM=$(HOST_PLATFORM)) + @$(call echo,TARGET_PLATFORM=$(TARGET_PLATFORM)) + @$(call echo,PLATFORM=$(PLATFORM)) + @$(call echo,LINUX_HOST=$(LINUX_HOST)) + @$(call echo,LINUX_TARGET=$(LINUX_TARGET)) + @$(call echo,OSX_HOST=$(OSX_HOST)) + @$(call echo,OSX_TARGET=$(OSX_TARGET)) + @$(call echo,WINDOWS_HOST=$(WINDOWS_HOST)) + @$(call echo,WINDOWS_TARGET=$(WINDOWS_TARGET)) + @$(call echo,BSD_HOST=$(BSD_HOST)) + @$(call echo,BSD_TARGET=$(BSD_TARGET)) @$(call echo,CCACHE=$(CCACHE)) @$(call echo,CCACHE_COMPILE=$(CCACHE_COMPILE)) @$(call echo,CCACHE_PREFIX=$(CCACHE_PREFIX)) @$(call echo,DISTCC=$(DISTCC)) + @$(call echo,GCC_PREFIX=$(GCC_PREFIX)) @$(call echo,CC=$(CC)) @$(call echo,CPP=$(CPP)) @$(call echo,ECP=$(ECP)) @@ -625,3 +758,8 @@ troubleshoot: @$(call echo,AR=$(AR)) @$(call echo,STRIP=$(STRIP)) @$(call echo,UPX=$(UPX)) + @$(call echo,TARGET_ARCH=$(TARGET_ARCH)) + @$(call echo,DESTDIR=$(DESTDIR)) + @$(call echo,PREFIXLIBDIR=$(PREFIXLIBDIR)) + @$(call echo,ARCH=$(ARCH)) + @$(call echo,ARCH_FLAGS=$(ARCH_FLAGS))