| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #
- # Copyright 2022 Dgraph Labs, Inc. and Contributors
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- USER_ID = $(shell id -u)
- HAS_JEMALLOC = $(shell test -f /usr/local/lib/libjemalloc.a && echo "jemalloc")
- JEMALLOC_URL = "https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2"
- .PHONY: all badger test jemalloc dependency
- badger: jemalloc
- @echo "Compiling Badger binary..."
- @$(MAKE) -C badger badger
- @echo "Badger binary located in badger directory."
- test: jemalloc
- @echo "Running Badger tests..."
- @./test.sh
- jemalloc:
- @if [ -z "$(HAS_JEMALLOC)" ] ; then \
- mkdir -p /tmp/jemalloc-temp && cd /tmp/jemalloc-temp ; \
- echo "Downloading jemalloc..." ; \
- curl -s -L ${JEMALLOC_URL} -o jemalloc.tar.bz2 ; \
- tar xjf ./jemalloc.tar.bz2 ; \
- cd jemalloc-5.2.1 ; \
- ./configure --with-jemalloc-prefix='je_' --with-malloc-conf='background_thread:true,metadata_thp:auto'; \
- make ; \
- if [ "$(USER_ID)" -eq "0" ]; then \
- make install ; \
- else \
- echo "==== Need sudo access to install jemalloc" ; \
- sudo make install ; \
- fi \
- fi
- dependency:
- @echo "Installing dependencies..."
- @sudo apt-get update
- @sudo apt-get -y install \
- ca-certificates \
- curl \
- gnupg \
- lsb-release \
- build-essential \
- protobuf-compiler \
|