58 lines
2.2 KiB
Makefile
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 -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
|