.SILENT:
include crossplatform.mk
-include include.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
+ifdef WINDOWS_HOST
+HOST_SOV := $(HOST_SO)
+else
+HOST_SOV := $(HOST_SO)$(LIBVER)
+endif
+
ifdef WINDOWS_TARGET
SOV := $(SO)
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
HOSTTYPE := $(shell uname -m)
-ifndef LIBDIR
+ifdef LIBDIR
+export PREFIXLIBDIR=$(LIBDIR)
+else
+
ifeq "$(HOSTTYPE)" "x86_64"
-export LIBDIR=$(DESTDIR)$(prefix)/lib32
export PREFIXLIBDIR=$(prefix)/lib32
else
-export LIBDIR=$(DESTDIR)$(prefix)/lib
export PREFIXLIBDIR=$(prefix)/lib
endif
+
endif
-ifndef SLIBDIR
-ifeq "$(HOSTTYPE)" "x86_64"
-export SLIBDIR=$(DESTDIR)$(prefix)/lib32
+DESTLIBDIR := $(DESTDIR)$(PREFIXLIBDIR)
+ifdef SLIBDIR
+DESTSLIBDIR := $(DESTDIR)$(SLIBDIR)
else
-export SLIBDIR=$(DESTDIR)$(prefix)/lib
-endif
+DESTSLIBDIR := $(DESTLIBDIR)
endif
ifndef SAMPLESDIR
OBJDIR := obj$(OBJALT)/
OBJBINDIR := $(OBJDIR)$(PLATFORM)/bin/
OBJLIBDIR := $(OBJDIR)$(PLATFORM)/lib/
+XOBJDIR := obj$(OBJALT)/
+XOBJBINDIR := $(OBJDIR)$(HOST_PLATFORM)/bin/
+XOBJLIBDIR := $(OBJDIR)$(HOST_PLATFORM)/lib/
all: prepbinaries ide epj2make documentor eda codeguard
@$(call echo,The Ecere SDK is fully built.)
$(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
+ @$(call echo,Building dependencies (host)...)
+ cd deps && $(MAKE) $(XBOOT)
+endif
@$(call echo,Building dependencies...)
cd deps && $(MAKE)
ecere: bootstrap deps
+ifdef CROSS_TARGET
+ @$(call echo,Building 2nd stage ecere (host)...)
+else
@$(call echo,Building 2nd stage ecere...)
- cd ecere && $(MAKE) nores
- cd ear && $(MAKE) nores
+endif
+ cd ecere && $(MAKE) nores $(XBOOT)
+ cd ear && $(MAKE) nores $(XBOOT)
cd ecere && $(MAKE) cleantarget
+ifdef CROSS_TARGET
+ @$(call echo,Building 2nd stage ecere...)
+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
cd ear && $(MAKE)
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)
$(call cpq,compiler/ecp/obj/release.$(PLATFORM)/ecp$(E),$(OBJBINDIR))
$(call cpq,compiler/ecs/obj/release.$(PLATFORM)/ecs$(E),$(OBJBINDIR))
+ifdef CROSS_TARGET
+
+ifdef WINDOWS_HOST
+ $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJBINDIR))
+ $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJBINDIR))
+ $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJBINDIR))
+endif
+ifdef WINDOWS_HOST
+ $(call cpq,ecere/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ecere$(HOST_SOV),$(XOBJLIBDIR))
+ $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SOV),$(XOBJLIBDIR))
+ $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SOV),$(XOBJLIBDIR))
+ 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)/$(HOST_LP)ecere$(HOST_SO),$(XOBJLIBDIR))
+ $(call cpq,ecere/obj/ecereCOM.release.$(HOST_PLATFORM)/$(HOST_LP)ecereCOM$(HOST_SO),$(XOBJLIBDIR))
+ $(call cpq,compiler/libec/obj/release.$(HOST_PLATFORM)/$(HOST_LP)ec$(HOST_SO),$(XOBJLIBDIR))
+endif
+endif
+ $(call cpq,ear/cmd/obj/release.$(HOST_PLATFORM)/ear$(HOST_E),$(XOBJBINDIR))
+ $(call cpq,compiler/ecc/obj/release.$(HOST_PLATFORM)/ecc$(HOST_E),$(XOBJBINDIR))
+ $(call cpq,compiler/ecp/obj/release.$(HOST_PLATFORM)/ecp$(HOST_E),$(XOBJBINDIR))
+ $(call cpq,compiler/ecs/obj/release.$(HOST_PLATFORM)/ecs$(HOST_E),$(XOBJBINDIR))
+
+endif
+
epj2make: prepbinaries
@$(call echo,Building epj2make...)
cd epj2make && $(MAKE)
actualinstall:
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)/")
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)/")
endif
ifdef OSX_TARGET
- 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)/
+ 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)/
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 $(SAMPLESDIR)
cp -pRf samples/* $(SAMPLESDIR)
- mkdir -p -m 777 $(EXTRASDIR)
+ find $(SAMPLESDIR) -type d -exec chmod 777 {} \;
+ mkdir -p $(EXTRASDIR)
cp -pRf extras/* $(EXTRASDIR)
+ chmod 777 $(EXTRASDIR)/audio
endif
ifndef OSX_TARGET
ifndef WINDOWS_TARGET
ifdef LINUX_TARGET
- 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)
+ 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)/$(LP)ec$(SOV)
+ install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SOV)
+ install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SOV)
ifdef EDASQLiteCipher
- install -D $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SOV)
+ install $(INSTALL_FLAGS) $(OBJLIBDIR)$(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(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)/$(LP)ec$(SO).0
+ ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO).0
+ ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(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)/$(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)/$(LP)ec$(SO)
+ ln -sf $(LP)EDA$(SOV) $(DESTLIBDIR)/$(LP)EDA$(SO)
+ ln -sf $(LP)EDASQLite$(SOV) $(DESTLIBDIR)/$(LP)EDASQLite$(SO)
+ mkdir -p $(DESTLIBDIR)/ec
+ ln -sf $(PREFIXLIBDIR)/$(LP)ecere$(SOV) $(DESTLIBDIR)/ec/$(LP)ecere$(SO)
+ ln -sf $(PREFIXLIBDIR)/$(LP)ecereCOM$(SOV) $(DESTLIBDIR)/ec/$(LP)ecereCOM$(SO)
+ ln -sf $(PREFIXLIBDIR)/$(LP)ec$(SOV) $(DESTLIBDIR)/ec/$(LP)ec$(SO)
+ ln -sf $(PREFIXLIBDIR)/$(LP)EDA$(SOV) $(DESTLIBDIR)/ec/$(LP)EDA$(SO)
+ ln -sf $(PREFIXLIBDIR)/$(LP)EDASQLite$(SOV) $(DESTLIBDIR)/ec/$(LP)EDASQLite$(SO)
ifdef EDASQLiteCipher
- ln -sf $(LP)EDASQLiteCipher$(SOV) $(LIBDIR)/$(LP)EDASQLiteCipher$(SO)
+ ln -sf $(LP)EDASQLiteCipher$(SOV) $(DESTLIBDIR)/$(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)
+ 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
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-extras
cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-extras/
- mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-samples
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-samples
cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-samples/
- mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/ecere-sdk
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/ecere-sdk
cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/ecere-sdk/
- mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libec0
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/libec0
ln -sf ../libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libec0/
- mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libecerecom0
+ mkdir -p $(DESTDIR)$(prefix)/share/doc/libecerecom0
cp $(DESTDIR)$(prefix)/share/doc/libecere0/changelog.gz $(DESTDIR)$(prefix)/share/doc/libecerecom0/
- mkdir -p -m 777 $(DESTDIR)$(prefix)/share/doc/libeda0
+ 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)")
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_TARGET
- $(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")
+ $(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_TARGET
$(call rmdirq,"$(DESTDIR)/")
@$(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))