X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=Makefile;h=32c31b43ba2cb4caf057a197ab8e0884161049ea;hb=90173f436b39bfe39491aa356a218ac185618d1c;hp=6504c15ba2be562ab75baebac68234bc639b8a85;hpb=9c57805dc5f9ddbe1f453181a9060558c64e29cd;p=paperjam.git diff --git a/Makefile b/Makefile index 6504c15..32c31b4 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,54 @@ +VERSION=1.2 +YEAR=2022 +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 +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 +$(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