# Copyright (C) 2026 Mikhail Kirillov
# License: GPL-3.0

CC	?= gcc
CFLAGS	?= -O2 -Wall -Wextra -pedantic
LDFLAGS	?=

PREFIX		?= /usr/local
BINDIR		?= $(PREFIX)/bin
DATAROOT	?= $(PREFIX)/share
DOCDIR		?= $(DATAROOT)/doc/bytebeat
MANDIR		?= $(DATAROOT)/man/man1
EMACSDIR	?= $(DATAROOT)/emacs/site-lisp

TARGET	= bytebeat
SRC	= bytebeat.c
OBJ	= $(SRC:.c=.o)
ELISP	= bytebeat.el
DOCS	= README COPYING

.PHONY: all clean distclean install uninstall install-strip

all: $(TARGET)

$(TARGET): $(OBJ)
	$(CC) $(LDFLAGS) -o $@ $^

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

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

distclean: clean

install: all
	install -d $(DESTDIR)$(BINDIR)
	install -m 0755 $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
	install -d $(DESTDIR)$(DOCDIR)
	install -m 0644 $(DOCS) $(DESTDIR)$(DOCDIR)/
	install -d $(DESTDIR)$(EMACSDIR)
	install -m 0644 $(ELISP) $(DESTDIR)$(EMACSDIR)/$(ELISP)

install-strip: install
	strip $(DESTDIR)$(BINDIR)/$(TARGET)

uninstall:
	rm -f  $(DESTDIR)$(BINDIR)/$(TARGET)
	rm -f  $(DESTDIR)$(EMACSDIR)/$(ELISP)
	rm -rf $(DESTDIR)$(DOCDIR)
