mirror of https://gitee.com/bigwinds/arangodb
297 lines
8.1 KiB
Makefile
297 lines
8.1 KiB
Makefile
# -*- mode: Makefile; -*-
|
|
|
|
## -----------------------------------------------------------------------------
|
|
## --SECTION-- COMMON VARIABLES
|
|
## -----------------------------------------------------------------------------
|
|
|
|
-include Makefile
|
|
|
|
VERSION_MAJOR := $(wordlist 1,1,$(subst ., ,$(VERSION)))
|
|
VERSION_MINOR := $(wordlist 2,2,$(subst ., ,$(VERSION)))
|
|
VERSION_PATCH := $(wordlist 3,3,$(subst ., ,$(VERSION)))
|
|
|
|
## -----------------------------------------------------------------------------
|
|
## --SECTION-- SPECIAL TARGETS
|
|
## -----------------------------------------------------------------------------
|
|
|
|
################################################################################
|
|
### @brief setup
|
|
################################################################################
|
|
|
|
.PHONY: setup
|
|
|
|
setup:
|
|
@echo ACLOCAL
|
|
@aclocal -I m4
|
|
@echo AUTOMAKE
|
|
@automake --add-missing --force-missing --copy
|
|
@echo AUTOCONF
|
|
@autoconf -I m4
|
|
@echo auto system configured, proceed with configure
|
|
|
|
################################################################################
|
|
### @brief add maintainer files
|
|
################################################################################
|
|
|
|
MAINTAINER = \
|
|
README \
|
|
arangod/Ahuacatl/ahuacatl-tokens.cpp \
|
|
arangod/Ahuacatl/ahuacatl-grammar.cpp \
|
|
arangod/Ahuacatl/ahuacatl-grammar.h \
|
|
lib/JsonParser/json-parser.cpp \
|
|
lib/V8/v8-json.cpp \
|
|
lib/V8/v8-json.h \
|
|
lib/BasicsC/voc-errors.h \
|
|
lib/BasicsC/voc-errors.c \
|
|
js/common/bootstrap/errors.js \
|
|
mr/common/bootstrap/mr-error.h
|
|
|
|
AUTOMAGIC = \
|
|
Makefile.in \
|
|
aclocal.m4 \
|
|
configure \
|
|
config/compile \
|
|
config/config.guess \
|
|
config/config.sub \
|
|
config/depcomp \
|
|
config/install-sh \
|
|
config/missing
|
|
|
|
.PHONY: add-maintainer add-automagic
|
|
|
|
add-maintainer:
|
|
@echo adding generated files to GIT
|
|
git add -f $(MAINTAINER)
|
|
|
|
remove-maintainer:
|
|
@echo removing generated files from GIT
|
|
git rm -f $(MAINTAINER)
|
|
|
|
add-automagic:
|
|
@echo adding automagic files to GIT
|
|
git add -f $(AUTOMAGIC)
|
|
|
|
remove-automagic:
|
|
@echo removing automagic files from GIT
|
|
git rm -f $(AUTOMAGIC)
|
|
|
|
################################################################################
|
|
### @brief make love
|
|
################################################################################
|
|
|
|
love:
|
|
@echo ArangoDB loves you
|
|
|
|
## -----------------------------------------------------------------------------
|
|
## --SECTION-- CMAKE & CPACK
|
|
## -----------------------------------------------------------------------------
|
|
|
|
################################################################################
|
|
### @brief MacOSX bundle
|
|
################################################################################
|
|
|
|
.PHONY: pack-dmg pack-dmg-cmake
|
|
|
|
DMG_NAME := ArangoDB-CLI.app
|
|
|
|
pack-dmg:
|
|
rm -rf Build && mkdir Build
|
|
|
|
./configure \
|
|
--prefix=/opt/arangodb \
|
|
--enable-all-in-one-icu \
|
|
--enable-all-in-one-v8 \
|
|
--enable-all-in-one-libev \
|
|
--enable-mruby
|
|
|
|
${MAKE} pack-dmg-cmake
|
|
|
|
pack-dmg-cmake:
|
|
cd Build && cmake \
|
|
-D "BUILD_PACKAGE=dmg-cli" \
|
|
-D "CMAKE_INSTALL_PREFIX=${prefix}" \
|
|
-D "USE_MRUBY=ON" \
|
|
-D "ARANGODB_VERSION=${VERSION}" \
|
|
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
|
|
..
|
|
|
|
${MAKE} .libev-build-64
|
|
${MAKE} .zlib-build-64
|
|
${MAKE} .icu-build-64
|
|
${MAKE} .v8-build-64
|
|
${MAKE} .mruby-build-64
|
|
|
|
${MAKE} ${BUILT_SOURCES}
|
|
|
|
cd Build && ${MAKE}
|
|
|
|
cd Build && cpack \
|
|
-G Bundle \
|
|
-D "CPACK_INSTALL_PREFIX=${DMG_NAME}/Contents/MacOS/opt/arangodb"
|
|
|
|
################################################################################
|
|
### @brief MacOSX
|
|
################################################################################
|
|
|
|
.PHONY: pack-macosx pack-macosx-cmake
|
|
|
|
PACK_DESTDIR ?= .
|
|
|
|
pack-macosx:
|
|
rm -rf Build && mkdir Build
|
|
|
|
./configure \
|
|
--prefix=/opt/arangodb \
|
|
--enable-all-in-one-icu \
|
|
--enable-all-in-one-v8 \
|
|
--enable-all-in-one-libev \
|
|
--enable-mruby
|
|
|
|
${MAKE} pack-macosx-cmake
|
|
|
|
pack-macosx-cmake:
|
|
cd Build && cmake \
|
|
-D "BUILD_PACKAGE=dmg-cli" \
|
|
-D "CMAKE_INSTALL_PREFIX=${prefix}" \
|
|
-D "USE_MRUBY=ON" \
|
|
-D "ARANGODB_VERSION=${VERSION}" \
|
|
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
|
|
..
|
|
|
|
${MAKE} .libev-build-64
|
|
${MAKE} .zlib-build-64
|
|
${MAKE} .icu-build-64
|
|
${MAKE} .v8-build-64
|
|
${MAKE} .mruby-build-64
|
|
|
|
${MAKE} ${BUILT_SOURCES}
|
|
|
|
cd Build && ${MAKE}
|
|
cd Build && ${MAKE} install DESTDIR=${PACK_DESTDIR}
|
|
|
|
################################################################################
|
|
### @brief debian arm package
|
|
################################################################################
|
|
|
|
.PHONY: pack-arm pack-arm-cmake
|
|
|
|
pack-arm:
|
|
rm -rf Build && mkdir Build
|
|
|
|
./configure \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--enable-all-in-one-icu \
|
|
--enable-all-in-one-v8 \
|
|
--enable-all-in-one-libev \
|
|
--with-v8=./3rdParty-ARM \
|
|
--disable-mruby
|
|
|
|
touch .icu-build-32
|
|
touch .v8-build-32
|
|
|
|
${MAKE} pack-arm-cmake
|
|
|
|
pack-arm-cmake:
|
|
cd Build && cmake \
|
|
-D "BUILD_PACKAGE=raspbian" \
|
|
-D "CMAKE_INSTALL_PREFIX=${prefix}" \
|
|
-D "ETCDIR=${sysconfdir}" \
|
|
-D "VARDIR=${localstatedir}" \
|
|
-D "USE_MRUBY=OFF" \
|
|
-D "ARANGODB_VERSION=${VERSION}" \
|
|
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
|
|
-D "CMAKE_CXX_FLAGS_RELEASE:STRING=-O2 -DNDEBUG" \
|
|
-D "CMAKE_C_FLAGS_RELEASE:STRING=-O2 -DNDEBUG" \
|
|
..
|
|
|
|
${MAKE} ${BUILT_SOURCES}
|
|
|
|
cd Build && ${MAKE}
|
|
|
|
cd Build && cpack \
|
|
-G DEB
|
|
|
|
################################################################################
|
|
### @brief Windows 64-bit bundle
|
|
################################################################################
|
|
|
|
.PHONY: pack-win32 pack-winXX pack-winXX-cmake
|
|
|
|
pack-win32:
|
|
$(MAKE) pack-winXX BITS=32 TARGET="Visual Studio 12"
|
|
|
|
pack-win64:
|
|
$(MAKE) pack-winXX BITS=64 TARGET="Visual Studio 12 Win64"
|
|
|
|
pack-winXX:
|
|
rm -rf Build$(BITS) && mkdir Build$(BITS)
|
|
|
|
${MAKE} pack-winXX-cmake BITS="$(BITS)" TARGET="$(TARGET)" VERSION="`awk '{print substr($$3,2,length($$3)-2);}' build.h`"
|
|
|
|
pack-winXX-cmake:
|
|
cd Build$(BITS) && cmake \
|
|
-G "$(TARGET)" \
|
|
-D "USE_MRUBY=OFF" \
|
|
-D "ARANGODB_VERSION=${VERSION}" \
|
|
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
|
|
..
|
|
|
|
cd Build$(BITS) && cmake --build . --config Release
|
|
|
|
cd Build$(BITS) && cpack -G NSIS
|
|
|
|
./Installation/Windows/installer-generator.sh $(BITS) $(shell pwd)
|
|
|
|
################################################################################
|
|
### @brief Windows Vista 64-bit bundle
|
|
################################################################################
|
|
|
|
.PHONY: pack-vista32 pack-vistaXX pack-vistaXX-cmake
|
|
|
|
pack-vista32:
|
|
$(MAKE) pack-vistaXX BITS=32 TARGET="Visual Studio 12"
|
|
|
|
pack-vista64:
|
|
$(MAKE) pack-vistaXX BITS=64 TARGET="Visual Studio 12 Win64"
|
|
|
|
pack-vistaXX:
|
|
rm -rf Build$(BITS) && mkdir Build$(BITS)
|
|
|
|
${MAKE} pack-vistaXX-cmake BITS="$(BITS)" TARGET="$(TARGET)" VERSION="`awk '{print substr($$3,2,length($$3)-2);}' build.h`"
|
|
|
|
pack-vistaXX-cmake:
|
|
cd Build$(BITS) && cmake \
|
|
-G "$(TARGET)" \
|
|
-D "USE_MRUBY=OFF" \
|
|
-D "USE_VISTA_LOCKS=ON" \
|
|
-D "ARANGODB_VERSION=${VERSION}" \
|
|
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
|
|
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
|
|
..
|
|
|
|
cd Build$(BITS) && cmake --build . --config Release
|
|
|
|
cd Build$(BITS) && cpack -G NSIS
|
|
|
|
./installer-generator.sh $(BITS)
|
|
|
|
## -----------------------------------------------------------------------------
|
|
## --SECTION-- END-OF-FILE
|
|
## -----------------------------------------------------------------------------
|
|
|
|
## Local Variables:
|
|
## mode: outline-minor
|
|
## outline-regexp: "### @brief\\|## --SECTION--\\|# -\\*-"
|
|
## End:
|