mirror of
https://github.com/AGWA/git-crypt.git
synced 2026-01-14 05:57:23 -08:00
90 lines
1.8 KiB
Makefile
90 lines
1.8 KiB
Makefile
CXXFLAGS ?= -Wall -pedantic -Wno-long-long -O2
|
|
PREFIX ?= /usr/local
|
|
BINDIR ?= $(PREFIX)/bin
|
|
MANDIR ?= $(PREFIX)/share/man
|
|
|
|
HAS_DOCBOOK ?= no
|
|
|
|
OBJFILES = \
|
|
git-crypt.o \
|
|
commands.o \
|
|
crypto.o \
|
|
gpg.o \
|
|
key.o \
|
|
util.o \
|
|
parse_options.o \
|
|
coprocess.o \
|
|
fhstream.o
|
|
|
|
OBJFILES += crypto-openssl.o
|
|
LDFLAGS += -lcrypto
|
|
|
|
DOCBOOK = xsltproc \
|
|
--param man.output.in.separate.dir 1 \
|
|
--stringparam man.output.base.dir man/ \
|
|
--param man.output.subdirs.enabled 1 \
|
|
--param man.authors.section.enabled 1 \
|
|
--nonet \
|
|
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
|
|
|
|
all: build
|
|
|
|
#
|
|
# Build
|
|
#
|
|
BUILD_MAN_TARGETS-yes = build-man
|
|
BUILD_MAN_TARGETS-no =
|
|
BUILD_TARGETS := build-bin $(BUILD_MAN_TARGETS-$(HAS_DOCBOOK))
|
|
|
|
build: $(BUILD_TARGETS)
|
|
|
|
build-bin: git-crypt
|
|
|
|
git-crypt: $(OBJFILES)
|
|
$(CXX) $(CXXFLAGS) -o $@ $(OBJFILES) $(LDFLAGS)
|
|
|
|
util.o: util.cpp util-unix.cpp util-win32.cpp
|
|
coprocess.o: coprocess.cpp coprocess-unix.cpp coprocess-win32.cpp
|
|
|
|
build-man: man/man1/git-crypt.1
|
|
|
|
man/man1/git-crypt.1: man/git-crypt.xml
|
|
$(DOCBOOK) $<
|
|
|
|
#
|
|
# Clean
|
|
#
|
|
CLEAN_MAN_TARGETS-yes = clean-man
|
|
CLEAN_MAN_TARGETS-no =
|
|
CLEAN_TARGETS := clean-bin $(CLEAN_MAN_TARGETS-$(HAS_DOCBOOK))
|
|
|
|
clean: $(CLEAN_TARGETS)
|
|
|
|
clean-bin:
|
|
rm -f $(OBJFILES) git-crypt
|
|
|
|
clean-man:
|
|
rm -f man/man1/git-crypt.1
|
|
|
|
#
|
|
# Install
|
|
#
|
|
INSTALL_MAN_TARGETS-yes = install-man
|
|
INSTALL_MAN_TARGETS-no =
|
|
INSTALL_TARGETS := install-bin $(INSTALL_MAN_TARGETS-$(HAS_DOCBOOK))
|
|
|
|
install: $(INSTALL_TARGETS)
|
|
|
|
install-bin: build-bin
|
|
install -d $(DESTDIR)$(BINDIR)
|
|
install -m 755 git-crypt $(DESTDIR)$(BINDIR)/
|
|
|
|
install-man: build-man
|
|
install -d $(DESTDIR)$(MANDIR)/man1
|
|
install -m 644 man/man1/git-crypt.1 $(DESTDIR)$(MANDIR)/man1/
|
|
|
|
.PHONY: all \
|
|
build build-bin build-man \
|
|
clean clean-bin clean-man \
|
|
install install-bin install-man
|