.PHONY: sync run ready exec all stop shutdown

TARGET = root@172.16.0.1
PASSWD = toor

NAME = hid_payload.js
HID_PATH = /usr/local/P4wnP1/HIDScripts/


## Sync HID script to P4wnP1
all:
	@rm build/00-config.js -f
	@cp $(PWD)/config.js src/00-config.js

	@mkdir build -p
	@rm build/* -f
	@touch build/$(NAME)

	@cat src/* > build/$(NAME)

	@rm src/00-config.js -f
	@echo "[!] javascript source built!"

ready:
	sudo modprobe uinput
	lsmod | grep uinput

sync:
	@sshpass -p "$(PASSWD)" scp "./build/$(NAME)" "$(TARGET):$(HID_PATH)$(NAME)" > /dev/null 2>&1
	@echo "[!] Sync done!"


## Execute HID script remotely
exec:
	@echo "[!] Executing..."
	@sshpass -p "$(PASSWD)" ssh "$(TARGET)" "P4wnP1_cli hid run -n $(NAME)" ## > /dev/null 2>&1

stop:
	-@sshpass -p "$(PASSWD)" ssh "$(TARGET)" 'for i in {0..25}; do P4wnP1_cli hid job cancel $$i; done' > /dev/null 2>&1 || true 
	-@pkill key_extendr 
	@echo "[i] Stopped all running jobs"

shutdown:
	-@sshpass -p "$(PASSWD)" ssh "$(TARGET)" 'shutdown now' > /dev/null 2>&1 || true 


## Sync and execute
run: ready sync exec
