.PHONY: all test COMMIT := $(shell git rev-parse --short HEAD) TD_COMMIT := "5bbfc1cf5dab94f82e02f3430ded7241d4653551" VERSION := "v2.0.0-dev" MAKEOPTS := "-j4" # GOTAGS=signal_legacy builds the OMEMO cgo bindings against the pre-fork # libsignal-protocol-c instead of libomemo-c (e.g. on Debian bullseye, which # only packages the former) - Omemo0 (eu.siacs.conversations.axolotl) only, # no Omemo1/Omemo2 (both need protocol v4, which vanilla libsignal-protocol-c # doesn't have). GOTAGS := NTG_LIB_DIR ?= /usr/local/lib NTG_INC_DIR ?= /usr/local/include <<<<<<< HEAD all: mkdir -p release CGO_ENABLED=1 \ CGO_CFLAGS="-I$(NTG_INC_DIR)" \ CGO_LDFLAGS="-L$(NTG_LIB_DIR) -lntgcalls -lresolv_shim -lstdc++ -lm -ldl -lrt -lpthread -lz -lresolv -fuse-ld=mold" \ go build -ldflags "-X main.commit=${COMMIT}" -tags "${GOTAGS}" -o release/telegabber test: go test -race -short -tags "${GOTAGS}" -v ./config ./ ./telegram ./xmpp ./xmpp/gateway ./xmpp/jingle ./xmpp/extensions ./persistence ./telegram/formatter ./badger ./e2ee/... ./calls ./calls/signaling ./calls/signaling/tgsig ./calls/signaling/xmppsig ./calls/audio # Pion-loopback test test_loop: go test -race -v -count=1 -run '^(TestXmppsigPionLoop_|TestHookTrack_|TestSetTrackHandler_)' ./calls/signaling/xmppsig test_indocker: DOCKER_BUILDKIT=1 docker build --progress=plain --build-arg "TD_COMMIT=${TD_COMMIT}" --build-arg "MAKEOPTS=${MAKEOPTS}" --target test . lint: $(GOPATH)/bin/golint ./... build_indocker: DOCKER_BUILDKIT=1 docker build --build-arg "TD_COMMIT=${TD_COMMIT}" --build-arg "VERSION=${VERSION}" --build-arg "MAKEOPTS=${MAKEOPTS}" --output=release --target binaries . build_indocker_staging: DOCKER_BUILDKIT=1 docker build --build-arg "TD_COMMIT=${TD_COMMIT}" --build-arg "MAKEOPTS=${MAKEOPTS}" --network host --output=release --target binaries -f staging.Dockerfile . build_tdlib: DOCKER_BUILDKIT=1 docker build --build-arg "TD_COMMIT=${TD_COMMIT}" --build-arg "MAKEOPTS=${MAKEOPTS}" --output=tdlib --target binaries -f tdlib.Dockerfile .