# Makefile — XRPL Timestamp Client
#
# Targets:
#   make              build ./xrpl-timestamp
#   make install      copy binary to /usr/local/bin
#   make uninstall    remove from /usr/local/bin
#   make clean        remove build artifacts

CC      = gcc
BINARY  = xrpl-timestamp
SRC     = client.c
PREFIX  = /usr/local

# Override API endpoint at build time:
#   make API_BASE=https://xrpltimestamp.com/api
ifdef API_BASE
CFLAGS_EXTRA = -DAPI_BASE=\"$(API_BASE)\"
endif

CFLAGS  = -O2 -Wall -Wextra $(CFLAGS_EXTRA)
LDFLAGS = -lssl -lcrypto -lcurl -lqrencode

.PHONY: all install uninstall clean

all: $(BINARY)

$(BINARY): $(SRC)
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
	@echo ""
	@echo "  Built: ./$(BINARY)"
	@echo ""
	@echo "  Usage:"
	@echo "    ./$(BINARY) stamp   <file>                 stamp a file on the XRPL"
	@echo "    ./$(BINARY) verify  <file> <receipt.json>  verify file against receipt"
	@echo "    ./$(BINARY) status  <job_id>               check a pending job"
	@echo ""
	@echo "  Run 'make install' to install to $(PREFIX)/bin"
	@echo ""

install: $(BINARY)
	install -m 755 $(BINARY) $(PREFIX)/bin/$(BINARY)
	@echo "Installed: $(PREFIX)/bin/$(BINARY)"

uninstall:
	rm -f $(PREFIX)/bin/$(BINARY)
	@echo "Removed: $(PREFIX)/bin/$(BINARY)"

clean:
	rm -f $(BINARY)
