Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. .POSIX:
  2. # Install prefix
  3. PREFIX = $(HOME)/.cargo
  4. # Cargo binary
  5. CARGO = cargo +nightly
  6. SRC = \
  7. Cargo.toml \
  8. ../../Cargo.toml \
  9. $(shell find src -type f) \
  10. $(shell find ../../src -type f) \
  11. BIN = ../../darkirc
  12. all: $(BIN)
  13. $(BIN): $(SRC)
  14. $(CARGO) build $(TARGET_PRFX)$(RUST_TARGET) --release --package darkirc
  15. cp -f ../../target/$(RUST_TARGET)/release/darkirc $@
  16. android:
  17. docker build -t test:latest . --file android.Dockerfile
  18. # Use this command to get an interactive terminal inside docker:
  19. #docker run -v $(shell pwd)/../../:/root/src -it test:latest /bin/bash
  20. docker run --rm -v $(shell pwd)/../../:/root/src -t test:latest make _aarch64-android
  21. cp -f ../../target/aarch64-linux-android/release/darkirc darkirc.aarch64-android
  22. # Invoked inside docker by the command above
  23. # We need to mount this directory as a volume using -v so docker can access it
  24. _aarch64-android:
  25. cargo build --release --target aarch64-linux-android --package darkirc
  26. clean:
  27. rm -f $(BIN)
  28. install: all
  29. mkdir -p $(DESTDIR)$(PREFIX)/bin
  30. cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin
  31. chmod 755 $(DESTDIR)$(PREFIX)/bin/darkirc
  32. uninstall:
  33. rm -f $(DESTDIR)$(PREFIX)/bin/darkirc
  34. .PHONY: all clean install uninstall