CC      = gcc
CFLAGS  = -O2 -Wall -Wextra -I. -pthread
LDFLAGS = -pthread -lcurl
TARGET  = iptv-dl
SRCS    = main.c config.c buf.c json.c http.c discord.c jellyfin.c \
          iptv_api.c queue.c notify.c handlers.c server.c
OBJS    = $(SRCS:.c=.o)

# Install paths (override with: make install PREFIX=/usr/local)
PREFIX       = /usr/local
BINDIR       = $(PREFIX)/bin
SHAREDIR     = $(PREFIX)/share/iptv-dl
SYSCONFDIR   = /etc/iptv-downloader

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(OBJS) $(LDFLAGS) -o $@

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

install: $(TARGET)
	install -d $(BINDIR) $(SHAREDIR) $(SYSCONFDIR)
	install -m 755 $(TARGET) $(BINDIR)/iptv-dl
	install -m 644 static/iptv.css     $(SHAREDIR)/iptv.css
	install -m 644 static/iptv.js      $(SHAREDIR)/iptv.js
	install -m 644 static/downloads.js $(SHAREDIR)/downloads.js
	install -m 644 static/series_show.js $(SHAREDIR)/series_show.js
	install -m 644 static/header.html  $(SHAREDIR)/header.html
	install -m 644 static/footer.html  $(SHAREDIR)/footer.html
	@echo "Installed. Create config at $(SYSCONFDIR)/config.json or ~/.iptv-downloader/config.json"
	@echo "Run: $(BINDIR)/iptv-dl --dump-config   (to see defaults)"

clean:
	rm -f $(OBJS) $(TARGET)

.PHONY: all install clean
