Files

60 lines
1.8 KiB
Makefile
Raw Permalink Normal View History

CC = gcc
CFLAGS = -O2 -Wall -Wextra -pthread \
-I. -Iconfig -Iutil -Ihttp -Inotifs -Iqueue -Iintegrations
LDFLAGS = -pthread -lcurl
TARGET = iptv-dl
SRCS = main.c \
config/config.c \
util/buf.c \
util/json.c \
http/http.c \
http/server.c \
http/handlers.c \
notifs/notify.c \
queue/iptv_api.c \
queue/queue.c \
integrations/discord.c \
integrations/jellyfin.c
OBJS = $(SRCS:.c=.o)
# Install paths (override: 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)/css $(SHAREDIR)/js $(SHAREDIR)/html $(SYSCONFDIR)
install -m 755 $(TARGET) $(BINDIR)/iptv-dl
install -m 644 static/css/iptv.css $(SHAREDIR)/css/iptv.css
install -m 644 static/js/iptv.js $(SHAREDIR)/js/iptv.js
install -m 644 static/js/downloads.js $(SHAREDIR)/js/downloads.js
install -m 644 static/js/series_show.js $(SHAREDIR)/js/series_show.js
install -m 644 static/html/header.html $(SHAREDIR)/html/header.html
install -m 644 static/html/footer.html $(SHAREDIR)/html/footer.html
@echo ""
@echo "Installed to $(BINDIR)/iptv-dl"
@echo "Create config at ~/.iptv-downloader/config.json or $(SYSCONFDIR)/config.json"
@echo "Run: iptv-dl --dump-config (to see active defaults)"
test: tests/test_runner
./tests/test_runner
tests/test_runner: tests/test_json.c util/json.c util/buf.c
$(CC) $(CFLAGS) $^ -o $@
clean:
rm -f $(OBJS) $(TARGET) tests/test_runner
.PHONY: all install clean test