Files
coco 7846a45f2c a
2026-07-03 15:47:27 +08:00

55 lines
1.8 KiB
Makefile

#!/usr/bin/make -f
TARGET := host
include scripts/common.mk
include scripts/$(shell uname -s).mk
TOOLCHAIN := $(DESTDIR)/$(TARGET)
TOOLCHAIN_FILE := $(TOOLCHAIN)/.stamp
PREFIX := $(TOOLCHAIN)
export CC := $(shell which clang || which gcc)
export CXX := $(shell which clang++ || which g++)
export PKG_CONFIG_PATH := $(PREFIX)/lib/pkgconfig
export TOX4J_PLATFORM := $(shell perl -e 'print $$^O')-$(shell uname -m)
build: $(PREFIX)/tox4j.stamp $(foreach i,jvm-macros jvm-sbt-plugins jvm-toxcore-api tox4j-c,$(DESTDIR)/$i.stamp)
test: build
$(MAKE) -C _build/$(TARGET)/tox4j test
$(MAKE) -f scripts/build-host regenerate
git diff --exit-code
sbt -Djava.library.path=$(PREFIX)/lib "coverage" "test" "coverageReport"
cpp/src/ToxAv/generated/im_tox_tox4j_impl_jni_ToxAvJni.h: build
javah -cp target/scala-2.11/classes im.tox.tox4j.impl.jni.ToxAvJni
mv $(@F) $@
cpp/src/ToxCore/generated/im_tox_tox4j_impl_jni_ToxCoreJni.h: build
javah -cp target/scala-2.11/classes im.tox.tox4j.impl.jni.ToxCoreJni
mv $(@F) $@
cpp/src/ToxCrypto/generated/im_tox_tox4j_impl_jni_ToxCryptoJni.h: build
javah -cp target/scala-2.11/classes im.tox.tox4j.impl.jni.ToxCryptoJni
mv $(@F) $@
%.run: ; $*
regenerate: $(foreach i,$(wildcard bin/Jni*),$i.run) $(wildcard cpp/src/*/generated/*.h)
protobuf_CONFIGURE := --prefix=$(PREFIX) --disable-shared
libsodium_CONFIGURE := --prefix=$(PREFIX) --disable-shared
opus_CONFIGURE := --prefix=$(PREFIX) --disable-shared
libvpx_CONFIGURE := --prefix=$(PREFIX) --disable-examples --disable-unit-tests --enable-pic
toxcore_CONFIGURE := -DCMAKE_INSTALL_PREFIX:PATH=$(PREFIX) -DENABLE_STATIC=ON -DENABLE_SHARED=OFF
tox4j_CONFIGURE := -DCMAKE_INSTALL_PREFIX:PATH=$(PREFIX)
$(TOOLCHAIN):
mkdir -p $@
$(TOOLCHAIN_FILE): $(TOOLCHAIN)
touch $@
include scripts/release.mk
include scripts/dependencies.mk