NAME ?= asm_adsp219x
CC ?= gcc
CFLAGS ?= -Wall -Wextra -O2 -fPIC
LDFLAGS ?=
LDLIBS ?= -lr_arch -lr_util

R2_PLUGINS := $(shell r2 -H R2_USER_PLUGINS)
R2_INCDIR := $(shell r2 -H R2_INCDIR)
R2_LIBDIR := $(shell r2 -H R2_LIBDIR)

CPPFLAGS += -I$(R2_INCDIR) -I$(R2_INCDIR)/sdb

all: $(NAME).so

$(NAME).so: $(NAME).c
	$(CC) $(CPPFLAGS) $(CFLAGS) -shared $(LDFLAGS) \
		-L$(R2_LIBDIR) \
		$< -o $@ $(LDLIBS)

test: $(NAME).so
	r2 -q -a adsp219x -L ./$(NAME).so -b 24 -c "pd 48" ../examples/isa_test.bin >/dev/null

install: $(NAME).so
	mkdir -p $(R2_PLUGINS)
	cp -f $(NAME).so $(R2_PLUGINS)/

uninstall:
	rm -f $(R2_PLUGINS)/$(NAME).so

clean:
	rm -f $(NAME).so

.PHONY: all test install uninstall clean
