Files
cdrustanoia/Makefile
T
2026-11-04 08:32:00 +01:00

58 lines
2.2 KiB
Makefile

PREFIX ?= /usr/local
DESTDIR ?=
CARGO ?= cargo
CC ?= cc
INSTALL ?= install
BINDIR = $(DESTDIR)$(PREFIX)/bin
LIBDIR = $(DESTDIR)$(PREFIX)/lib
INCLUDEDIR = $(DESTDIR)$(PREFIX)/include
MANDIR = $(DESTDIR)$(PREFIX)/share/man/man1
.PHONY: all build test check install uninstall clean
all: build
build:
$(CARGO) build --release --workspace
test:
$(CARGO) test --workspace
check:
$(CARGO) fmt --all -- --check
$(CARGO) clippy --workspace --all-targets -- -D warnings
$(CARGO) test --workspace
$(CC) -std=gnu11 -Wall -Wextra -Werror -Wno-unused-variable -Wno-unused-function -DCDDA_TEST -Iinclude -c tests/capi_compile.c -o target/capi_compile.o
install: build
$(INSTALL) -d -m 0755 $(BINDIR)
$(INSTALL) -m 0755 target/release/cdrustanoia $(BINDIR)/cdrustanoia
ln -sf cdrustanoia $(BINDIR)/cdparanoia
$(INSTALL) -d -m 0755 $(MANDIR)
$(INSTALL) -m 0644 man/cdparanoia.1 $(MANDIR)/cdparanoia.1
$(INSTALL) -m 0644 man/cdrustanoia.1 $(MANDIR)/cdrustanoia.1
$(INSTALL) -d -m 0755 $(INCLUDEDIR)
$(INSTALL) -m 0644 include/cdda_interface.h $(INCLUDEDIR)/cdda_interface.h
$(INSTALL) -m 0644 include/cdda_paranoia.h $(INCLUDEDIR)/cdda_paranoia.h
$(INSTALL) -m 0644 include/utils.h $(INCLUDEDIR)/utils.h
$(INSTALL) -d -m 0755 $(LIBDIR)
$(INSTALL) -m 0755 target/release/libcdda_interface.so $(LIBDIR)/libcdda_interface.so.0.10.2
$(INSTALL) -m 0755 target/release/libcdda_paranoia.so $(LIBDIR)/libcdda_paranoia.so.0.10.2
ln -sf libcdda_interface.so.0.10.2 $(LIBDIR)/libcdda_interface.so.0
ln -sf libcdda_interface.so.0 $(LIBDIR)/libcdda_interface.so
ln -sf libcdda_paranoia.so.0.10.2 $(LIBDIR)/libcdda_paranoia.so.0
ln -sf libcdda_paranoia.so.0 $(LIBDIR)/libcdda_paranoia.so
$(INSTALL) -m 0644 target/release/libcdda_interface.a $(LIBDIR)/libcdda_interface.a
$(INSTALL) -m 0644 target/release/libcdda_paranoia.a $(LIBDIR)/libcdda_paranoia.a
uninstall:
rm -f $(BINDIR)/cdrustanoia $(BINDIR)/cdparanoia
rm -f $(MANDIR)/cdparanoia.1 $(MANDIR)/cdrustanoia.1
rm -f $(INCLUDEDIR)/cdda_interface.h $(INCLUDEDIR)/cdda_paranoia.h $(INCLUDEDIR)/utils.h
rm -f $(LIBDIR)/libcdda_interface.so* $(LIBDIR)/libcdda_paranoia.so*
rm -f $(LIBDIR)/libcdda_interface.a $(LIBDIR)/libcdda_paranoia.a
clean:
$(CARGO) clean