Major changes from LibrePlan upstream: Migration to Java 21 / Tomcat 9: - ZK Framework 9.x → 8.6.0.1 (built-in databinding) - Removed stub classes blocking real ZK databinder - BCrypt password fix (matches() vs equals()) - Spring Security firewall for double-slash URLs - I18nHelper _() → tr() (Java 9+ reserved keyword) - Hibernate TypeContributor for Jadira types - Fixed ConfigurationModel Currency locale handling Rebrand to TASKPM: - Maven project names updated - web.xml display-name → taskpm-webapp - CSS files: libreplan.css → taskpm.css - i18n .po files updated (all locales) - ZUL page titles updated - Documentation rebranded New Features: - PERT Chart prototype using vis.js (/planner/pert/) - New doc chapters: 22-taskpm.rst (PERT focus) - Deploy automation scripts (migrate/) - Help docs deployed to webapp Removed: - Original .forgejo and .github CI workflows (will be replaced) TASKPM is a personal-oriented planning package integrating taskwarrior/timewarrior with PERT/CPM Monte Carlo scheduling. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
148 lines
2.9 KiB
Makefile
148 lines
2.9 KiB
Makefile
lastword = $(if $(firstword $1),$(word $(words $1),$1))
|
||
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
|
||
utildir := SELF_DIR
|
||
|
||
|
||
#
|
||
# Makefile
|
||
# Adrian Perez, 2009-05-15 11:20
|
||
#
|
||
|
||
RST_HTML_FLAGS = --link-stylesheet --stylesheet=html/lsr.css
|
||
RST_TEX_FLAGS = --documentclass=igaliabk --font-encoding=OT1 --output-encoding=utf-8
|
||
OUTPUT_BASE = output
|
||
|
||
rst_srcs := $(filter-out index.rst,$(wildcard *.rst))
|
||
html_pages := $(patsubst %.rst,html/%.html,$(rst_srcs)) html/index.html
|
||
|
||
svg_images := $(wildcard images/*.svg)
|
||
png_images := $(patsubst %.svg,%.png,$(svg_images)) $(wildcard images/*.png)
|
||
|
||
utildir := ../../../tools/
|
||
|
||
# Main targets
|
||
#
|
||
all: html pdf
|
||
pdf: pdf/$(OUTPUT_BASE).pdf
|
||
ebook: pdf/$(OUTPUT_BASE).ebook.pdf
|
||
html: $(html_pages)
|
||
png: $(png_images)
|
||
|
||
.PHONY: html pdf ebook png
|
||
|
||
### Xavi
|
||
|
||
all_img := $(wildcard images/*)
|
||
build_images :=
|
||
|
||
src_images := $(wildcard images/*)
|
||
html_images := $(patsubst %,html/%,$(src_images))
|
||
|
||
$(html_images): html/images/%: images/%
|
||
$P copy-img $@
|
||
$Q mkdir -p $(@D)
|
||
$Q cp $< $@
|
||
|
||
### End Xavi
|
||
|
||
|
||
# Cleanup targets
|
||
#
|
||
clean:
|
||
$P clean pdf
|
||
$Q $(RM) -r pdf/
|
||
$P clean html
|
||
$Q $(RM) -r html/
|
||
|
||
# Copy CSS file
|
||
#
|
||
html/lsr.css: lsr.css
|
||
$P copy $@
|
||
$Q mkdir -p $(@D)
|
||
$Q cp $< $@
|
||
|
||
$(html_pages): html/lsr.css $(html_images)
|
||
|
||
|
||
# Top-level RST creation for the PDF
|
||
#
|
||
pdf/$(OUTPUT_BASE).rst: $(rst_srcs) docinfo
|
||
$P toplevel $@
|
||
$Q mkdir -p $(@D)
|
||
$Q $(utildir)/doctool toplevel --info=docinfo $(rst_srcs) > $@
|
||
|
||
pdf/$(OUTPUT_BASE).pdf pdf/$(OUTPUT_BASE).ebook.pdf: $(png_images)
|
||
|
||
# Index page creation for the HTML output
|
||
# DISABLED: index.rst is now manually maintained for TASKPM customization
|
||
#index.rst: $(rst_srcs) docinfo
|
||
# $P htmlindex $@
|
||
# $Q mkdir -p $(@D)
|
||
# $Q $(utildir)/doctool htmlindex --info=docinfo $(rst_srcs) > $@
|
||
|
||
|
||
# Implicit rules
|
||
#
|
||
html/%.html: %.rst
|
||
$P rst2html $@
|
||
$Q mkdir -p $(@D)
|
||
$Q $(utildir)/doctool rst2html $(RST_HTML_FLAGS) $< $@
|
||
|
||
%.tex: %.rst
|
||
$P rst2latex $@
|
||
$Q mkdir -p $(@D)
|
||
$Q $(utildir)/doctool rst2latex $(RST_TEX_FLAGS) $< $@
|
||
|
||
%.ebook.tex: %.rst
|
||
$P rst2ebook $@
|
||
$Q mkdir -p $(@D)
|
||
$Q $(utildir)/doctool rst2ebook $(RST_TEX_FLAGS) $< $@
|
||
|
||
%.pdf: %.tex
|
||
$P pdflatex $@
|
||
$Q cd $(@D) && TEXINPUTS=.:$(CURDIR): pdflatex $(PDFLATEX_FLAGS) $(CURDIR)/$<
|
||
$Q cd $(@D) && TEXINPUTS=.:$(CURDIR): pdflatex $(PDFLATEX_FLAGS) $(CURDIR)/$<
|
||
|
||
%.trim.png: %.svg
|
||
$P svg2png $@
|
||
$Q inkscape --without-gui --export-png=$@ --export-area-canvas --export-dpi=150 $<
|
||
|
||
%.png: %.trim.png
|
||
$P png-trim $@
|
||
$Q convert -trim $< $@
|
||
|
||
# Avoid removing intermediate .tex files and similar things.
|
||
#
|
||
.SECONDARY:
|
||
|
||
# Control operation verboseness
|
||
#
|
||
ifeq ($(origin V),command line)
|
||
verbose := $(V)
|
||
endif
|
||
ifndef verbose
|
||
verbose := 0
|
||
endif
|
||
|
||
ifeq ($(verbose),0)
|
||
P = @printf '[1;32m * [0;0m%-10s [1;33m%s[0;0m\n'
|
||
Q = @
|
||
PDFLATEX_FLAGS += -interaction batchmode
|
||
else
|
||
P = @:
|
||
endif
|
||
|
||
# Check for the U= command line argument
|
||
#
|
||
ifeq ($(origin U),command line)
|
||
utildir := $(U)
|
||
endif
|
||
ifndef utildir
|
||
utildir := $(CURDIR)
|
||
endif
|
||
|
||
|
||
# vim:ft=make
|
||
#
|
||
|
||
|