# Makefile for miragextract #### # Packagers: override these the make command line as needed. # Intended for optimizations, but you could include other flags here. OPTFLAGS=-O2 # -L, -l, and maybe -Wl flags here. LDEXTRA= # Where 'make install' puts things. PREFIX=/usr/local BINDIR=$(PREFIX)/bin MANDIR=$(PREFIX)/share/man MAN1DIR=$(MANDIR)/man1 DOCDIR=$(PREFIX)/share/doc/$(PROJ) DESTDIR= # Booleans: 'y' or 'n' for these. STRIPBIN=y GZIPMAN=y # ### PROJ=miragextract DOCS=README FAQ ChangeLog $(PROJ).html SNDFILE_CFLAGS:=$(shell pkg-config --cflags sndfile) SNDFILE_LIBS:=$(shell pkg-config --libs sndfile) MIRAGE_CFLAGS:=$(shell pkg-config --cflags libmirage) MIRAGE_LIBS:=$(shell pkg-config --libs libmirage) CFLAGS=-Wall $(OPTFLAGS) $(MIRAGE_CFLAGS) $(SNDFILE_CFLAGS) LDFLAGS=$(MIRAGE_LIBS) $(SNDFILE_LIBS)$ $(LDEXTRA) all: $(PROJ) man: $(PROJ).1 html: $(PROJ).html test: all ./$(PROJ) test.cue push: all man html git add $(PROJ).1 $(PROJ).html git commit -m'auto-regenerate man/html pages' || true git push $(PROJ).1: $(PROJ).rst rst2man.py $(PROJ).rst > $(PROJ).1 $(PROJ).html: $(PROJ).rst rst2html4.py $(PROJ).rst > $(PROJ).html ifeq ($(shell whoami),root) CHOWN=chown else CHOWN=: chown endif install: all man html mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MAN1DIR) $(DESTDIR)$(DOCDIR) cp $(PROJ) $(DESTDIR)$(BINDIR) $(CHOWN) root:root $(DESTDIR)$(BINDIR)/$(PROJ) chmod 755 $(DESTDIR)$(BINDIR)/$(PROJ) ifeq ($(STRIPBIN),y) strip $(DESTDIR)$(BINDIR)/$(PROJ) endif cp $(PROJ).1 $(DESTDIR)$(MAN1DIR) ifeq ($(GZIPMAN),y) gzip -9 $(DESTDIR)$(MAN1DIR)/$(PROJ).1 endif $(CHOWN) root:root $(DESTDIR)$(MAN1DIR)/$(PROJ).1 chmod 644 $(DESTDIR)$(MAN1DIR)/$(PROJ).1 for i in $(DOCS); do \ cp $$i $(DESTDIR)$(DOCDIR); \ chmod 644 $(DESTDIR)$(DOCDIR)/$$i; \ $(CHOWN) root:root $(DESTDIR)$(DOCDIR)/$$i; \ done .PHONY: all man html test push install