]> mj.ucw.cz Git - paperjam.git/commitdiff
Version numbers
authorMartin Mares <mj@ucw.cz>
Sat, 7 Apr 2018 09:16:40 +0000 (11:16 +0200)
committerMartin Mares <mj@ucw.cz>
Sat, 7 Apr 2018 09:16:40 +0000 (11:16 +0200)
Makefile
paperjam.cc

index 7552ec07f9654cf6d92ae2ddc9ee9e62b14bc96b..5704100e55343f10c00bff5e3fc4f32247dfa6a2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,26 @@
+VERSION=0.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 '<unknown>' ; fi)
+
 CXXFLAGS=-O2 -Wall -Wextra -Wno-parentheses -std=gnu++11 -g
 
 all: paperjam
 
-paperjam: paperjam.o pdf-tools.o parse.o cmds.o pdf.o
+MODULES=paperjam pdf-tools parse cmds pdf
+OBJS=$(addsuffix .o, $(MODULES))
+
+paperjam: $(OBJS)
        $(LD) -o $@ $^ $(LDLIBS)
 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)"'
+
+clean:
+       rm -f *.o
+       rm -f paperjam
+
+.PHONY: all clean
index 6419a7ef40e59bbc6859920530e177e592e89142..3af52ab9dfb17316c512cb1a9ad320ad5bda5f21 100644 (file)
@@ -98,6 +98,13 @@ Commands:\n\
   parser_help();
 }
 
+static void show_version()
+{
+  printf("PaperJam " VERSION " -- a PDF processor\n");
+  printf("(c) " YEAR " Martin Mares, distributed under GNU GPL 2+\n");
+  printf("Built on " BUILD_DATE " from Git commit " BUILD_COMMIT "\n");
+}
+
 int main(int argc, char **argv)
 {
   int c;
@@ -111,7 +118,7 @@ int main(int argc, char **argv)
        debug_level++;
        break;
       case OPT_VERSION:
-       printf("This is paperjam with no version yet.\n");      // FIXME
+       show_version();
        return 0;
       case OPT_HELP:
        usage();