X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=Makefile;h=9f5f829904a34acfe632d8ad1369c1ba347d00e1;hb=346212e98d751f6103a9ef076e1b0755e9d06b1a;hp=9344b44e8a3ab196d55073a838c1035081051203;hpb=367bdc00abaaad2d13b77705d8f1ba493e371c63;p=paperjam.git diff --git a/Makefile b/Makefile index 9344b44..9f5f829 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,54 @@ +VERSION=1.1 +YEAR=2018 +BUILD_DATE:=$(shell date '+%Y-%m-%d') +BUILD_COMMIT:=$(shell if git rev-parse >/dev/null 2>/dev/null ; then git describe --always --tags ; else echo '' ; fi) + +DESTDIR= +PREFIX=/usr/local +BINDIR=$(PREFIX)/bin +MANDIR=$(PREFIX)/share/man + CXXFLAGS=-O2 -Wall -Wextra -Wno-parentheses -std=gnu++11 -g -all: paperjam +all: paperjam paperjam.1 paperjam.1.html + +MODULES=paperjam pdf-tools parse cmds pdf +OBJS=$(addsuffix .o, $(MODULES)) -paperjam: paperjam.o pdf-tools.o parse.o cmds.o pdf.o +paperjam: $(OBJS) $(LD) -o $@ $^ $(LDLIBS) -paperjam: LDLIBS += -lqpdf +paperjam: LDLIBS += -lqpdf -lpaper paperjam: LD=$(CXX) -paperjam.o: jam.h pdf-tools.h -pdf-tools.o: jam.h pdf-tools.h -parse.o: jam.h pdf-tools.h -cmds.o: jam.h pdf-tools.h -pdf.o: jam.h pdf-tools.h +$(OBJS): jam.h pdf-tools.h + +paperjam.o: CXXFLAGS += -DVERSION='"$(VERSION)"' -DYEAR='"$(YEAR)"' -DBUILD_DATE='"$(BUILD_DATE)"' -DBUILD_COMMIT='"$(BUILD_COMMIT)"' + +paperjam.1: paperjam.1.txt + a2x -f manpage $< + +# The dependency on paperjam.1 is there to serialize both calls of asciidoc, +# which does not name temporary files safely. +paperjam.1.html: paperjam.1.txt paperjam.1 + a2x -f xhtml -D . $< + +clean: + rm -f *.o + rm -f paperjam + rm -f paperjam.1 paperjam.1.html docbook-xsl.css + rm -f *.tar.gz + +install: all + install -d $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 + install -s paperjam $(DESTDIR)$(BINDIR)/ + install -m 644 paperjam.1 $(DESTDIR)$(MANDIR)/man1/ + +release: + git tag v$(VERSION) + git push --tags + git archive --format=tar --prefix=paperjam-$(VERSION)/ HEAD | gzip >paperjam-$(VERSION).tar.gz + rsync paperjam-$(VERSION).tar.gz jw:/home/ftp/pub/mj/linux/ + rsync paperjam.1.html jw:web/static/sw/paperjam/ + ssh jw 'cd web && bin/release-prog paperjam $(VERSION)' + +.PHONY: all clean release