mirror of
https://dev.narayana.im/narayana/telegabber.git
synced 2026-08-05 04:07:07 +00:00
45 lines
2 KiB
Makefile
45 lines
2 KiB
Makefile
.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
|
|
|
|
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 $(if $(filter-out 0,$(NO_MOLD)),,-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 "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 .
|