+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
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;
debug_level++;
break;
case OPT_VERSION:
- printf("This is paperjam with no version yet.\n"); // FIXME
+ show_version();
return 0;
case OPT_HELP:
usage();