# Makefile — build & install the MuMu "blank" plugin
# Default: debug build (keeps rich debug / assertions)
# Use `make release` for an optimized .so/.dylib

PLUGIN := blank

# Detect platform-specific dynamic library suffix and ldconfig availability
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
  DLL      := dylib
  LDCONFIG := true
else
  DLL      := so
  LDCONFIG := ldconfig
endif

TARGET  := libmumu$(PLUGIN).$(DLL)
PREFIX  ?= /usr/local
LIBDIR  ?= $(PREFIX)/lib

# Build-time features:
#  - Default to 'host' for native .so so Cargo_lock is present (parity with other plugins).
#  - Override as needed:  make release FEATURES=""
FEATURES ?= host

CARGO   ?= cargo

# ───────────────────────── targets ─────────────────────────

.PHONY: all debug release install install-debug uninstall clean print-target print-features

all: debug

debug:
	$(CARGO) build --features "$(FEATURES)"

release:
	$(CARGO) build --release --features "$(FEATURES)"

install: release
	sudo install -m 0755 target/release/$(TARGET) $(LIBDIR)/$(TARGET)
	sudo $(LDCONFIG)

install-debug: debug
	sudo install -m 0755 target/debug/$(TARGET) $(LIBDIR)/$(TARGET)
	sudo $(LDCONFIG)

uninstall:
	sudo rm -f $(LIBDIR)/$(TARGET)
	sudo $(LDCONFIG)

clean:
	$(CARGO) clean

print-target:
	@echo $(TARGET)

print-features:
	@echo $(FEATURES)
