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