whitepaper: add html-cwe407 and html-minecraft targets; update clean
This commit is contained in:
parent
d816d3c74c
commit
0f275c44af
1 changed files with 80 additions and 29 deletions
|
|
@ -1,14 +1,16 @@
|
|||
# whitepaper/Makefile
|
||||
# Generates both undefect. white papers with slug-named output PDFs.
|
||||
# Generates both undefect. white papers with slug-named output PDFs and HTML.
|
||||
#
|
||||
# make pdf-cwe407 — full CWE-407 cross-ecosystem report
|
||||
# make pdf-minecraft — gumyum: Minecraft + javac enterprise edition
|
||||
# make all — both PDFs
|
||||
# make clean — remove slug PDFs (leaves originals)
|
||||
# make pdf-cwe407 — full CWE-407 cross-ecosystem report (PDF)
|
||||
# make pdf-minecraft — gumyum: Minecraft + javac enterprise edition (PDF)
|
||||
# make html-cwe407 — full CWE-407 report (HTML)
|
||||
# make html-minecraft — gumyum report (HTML)
|
||||
# make all — all PDFs and HTML
|
||||
# make clean — remove slug PDFs and HTML (leaves originals)
|
||||
#
|
||||
# Output slugs:
|
||||
# undefect-cwe407-$(DATE).pdf
|
||||
# undefect-minecraft-enterprise-java-$(DATE).pdf
|
||||
# undefect-cwe407-$(DATE).pdf / .html
|
||||
# undefect-minecraft-enterprise-java-$(DATE).pdf / .html
|
||||
|
||||
DATE := $(shell date +%Y-%m-%d)
|
||||
PANDOC := pandoc
|
||||
|
|
@ -17,29 +19,54 @@ PYTHON := python3
|
|||
|
||||
SLUG_CWE407 := undefect-cwe407-$(DATE).pdf
|
||||
SLUG_MINECRAFT := undefect-minecraft-enterprise-java-$(DATE).pdf
|
||||
HTML_CWE407 := undefect-cwe407-$(DATE).html
|
||||
HTML_MINECRAFT := undefect-minecraft-enterprise-java-$(DATE).html
|
||||
|
||||
# ── Outreach briefs ───────────────────────────────────────────────────────────
|
||||
OUTREACH_DIR := outreach
|
||||
OUTREACH_CSS := $(OUTREACH_DIR)/outreach-style.css
|
||||
OUTREACH_HEADER := $(OUTREACH_DIR)/header-body.html
|
||||
OUTREACH_BRIEFS := javac typescript ghc scala3 rustc erlang-otp swipl \
|
||||
postgresql mongodb frrouting tor solidity minecraft build-tools \
|
||||
hive spark kafka spring presto webpack \
|
||||
django rails pyramid bottle \
|
||||
hibernate mybatis exposed \
|
||||
efcore \
|
||||
sqlalchemy peewee \
|
||||
sequelize typeorm \
|
||||
doctrine \
|
||||
seaorm diesel \
|
||||
gorm \
|
||||
godot pygame sfml threejs angelscript dry tinkerpop \
|
||||
terraform ansible saltstack cfengine puppet \
|
||||
jenkins bazel \
|
||||
bird onos httpd \
|
||||
llvm gcc kotlin v8 spidermonkey \
|
||||
rubocop solargraph \
|
||||
networkx rabbitmq kicad buildkit luigi octave
|
||||
OUTREACH_BRIEFS := \
|
||||
javac typescript ghc scala3 scala rustc erlang-otp swipl go kotlin swift \
|
||||
gcc llvm v8 spidermonkey crystal julia lua perl5 php ruby r elixir nim \
|
||||
postgresql mongodb mysql mariadb redis valkey cockroachdb tidb clickhouse \
|
||||
duckdb elasticsearch opensearch solr \
|
||||
scylladb yugabyte foundationdb rocksdb leveldb lmdb cassandra ceph memcached \
|
||||
frrouting bird onos odl httpd nginx haproxy openvpn zeek curl libgit2 vlc \
|
||||
traefik caddy varnish ovs \
|
||||
tor solidity minecraft geth substrate \
|
||||
build-tools hive spark kafka flink pulsar nats \
|
||||
storm zookeeper nifi artemis activemq camel \
|
||||
hudi iceberg druid pinot trino starrocks doris kylin \
|
||||
spring micronaut quarkus tomcat jetty \
|
||||
django rails pyramid bottle fastapi sinatra hanami phoenix gin fiber \
|
||||
hibernate mybatis efcore sqlalchemy peewee sequelize typeorm doctrine \
|
||||
seaorm diesel gorm exposed \
|
||||
godot pygame sfml threejs angelscript dry tinkerpop \
|
||||
neo4j janusgraph dgraph \
|
||||
ogre bullet bevy libgdx allegro5 sdl2 sdl3 panda3d box2d \
|
||||
raylib love2d \
|
||||
kubernetes nomad consul envoy istio cilium linkerd2 containerd moby \
|
||||
terraform ansible saltstack cfengine puppet jenkins bazel buildkit luigi \
|
||||
helm opentofu pulumi podman \
|
||||
prometheus otel-collector grafana victoria-metrics \
|
||||
synapse dendrite element-web \
|
||||
weechat unrealircd jvb ejabberd asterisk simplex-chat rocketchat \
|
||||
mattermost jami postfix opensmtpd dovecot linphone freeswitch \
|
||||
numpy pandas sklearn pytorch-geometric \
|
||||
celery ray prefect airflow argo metaflow kubeflow optuna \
|
||||
wasmtime wasmer \
|
||||
ninja mesa meson spirv-cross \
|
||||
linux hadoop keystone \
|
||||
grpc tokio actix-web nestjs \
|
||||
rubocop solargraph networkx rabbitmq kicad octave \
|
||||
presto webpack thrift gradle pip cmake \
|
||||
openssl mbedtls wolfssl \
|
||||
ros2 opencv open3d vtk graphhopper valhalla \
|
||||
ffmpeg gstreamer \
|
||||
igraph nova neutron \
|
||||
jsc wireshark nmap \
|
||||
hbase
|
||||
OUTREACH_PDFS := $(patsubst %,$(OUTREACH_DIR)/pdf/%.pdf,$(OUTREACH_BRIEFS))
|
||||
OUTREACH_MD5 := $(OUTREACH_DIR)/MD5SUMS
|
||||
|
||||
|
|
@ -64,9 +91,9 @@ $(OUTREACH_MD5): $(OUTREACH_PDFS)
|
|||
|
||||
pdf-outreach: $(OUTREACH_PDFS) $(OUTREACH_MD5)
|
||||
|
||||
.PHONY: all pdf-cwe407 pdf-minecraft pdf-outreach visuals clean
|
||||
.PHONY: all pdf-cwe407 pdf-minecraft html-cwe407 html-minecraft pdf-outreach visuals clean
|
||||
|
||||
all: pdf-cwe407 pdf-minecraft pdf-outreach
|
||||
all: html-cwe407 html-minecraft pdf-cwe407 pdf-minecraft pdf-outreach
|
||||
|
||||
# ── Full CWE-407 white paper ──────────────────────────────────────────────────
|
||||
# Source: full-paper.md + pdf-style.css (ChunkFive embedded, no external deps)
|
||||
|
|
@ -124,9 +151,33 @@ $(SLUG_MINECRAFT): $(GUMYUM_MD) $(GUMYUM_CSS) $(DOTS_SVG) $(DONUT_SVGS)
|
|||
|
||||
pdf-minecraft: $(SLUG_MINECRAFT)
|
||||
|
||||
# ── HTML ──────────────────────────────────────────────────────────────────────
|
||||
|
||||
$(HTML_CWE407): full-paper.md pdf-style.css
|
||||
$(PANDOC) full-paper.md \
|
||||
--standalone \
|
||||
--css pdf-style.css \
|
||||
--resource-path=. \
|
||||
--metadata title="undefect. CWE-407: The Sedimentary Defect" \
|
||||
-o $(HTML_CWE407)
|
||||
@echo "==> $(HTML_CWE407) ($$(du -h $(HTML_CWE407) | cut -f1))"
|
||||
|
||||
html-cwe407: $(HTML_CWE407)
|
||||
|
||||
$(HTML_MINECRAFT): $(GUMYUM_MD) $(GUMYUM_CSS) $(DOTS_SVG) $(DONUT_SVGS)
|
||||
cd $(GUMYUM_DIR) && $(PANDOC) gumyum-minecraft-enterprize-java-edition.md \
|
||||
--standalone \
|
||||
--css gumyum-style.css \
|
||||
--resource-path=. \
|
||||
-o $(CURDIR)/$(HTML_MINECRAFT)
|
||||
@echo "==> $(HTML_MINECRAFT) ($$(du -h $(HTML_MINECRAFT) | cut -f1))"
|
||||
|
||||
html-minecraft: visuals $(HTML_MINECRAFT)
|
||||
|
||||
# ── Clean ─────────────────────────────────────────────────────────────────────
|
||||
|
||||
clean:
|
||||
rm -f undefect-cwe407-*.pdf undefect-minecraft-enterprise-java-*.pdf
|
||||
rm -f undefect-cwe407-*.pdf undefect-cwe407-*.html
|
||||
rm -f undefect-minecraft-enterprise-java-*.pdf undefect-minecraft-enterprise-java-*.html
|
||||
rm -f $(OUTREACH_DIR)/pdf/*.pdf $(OUTREACH_MD5)
|
||||
@echo "Cleaned slug PDFs."
|
||||
@echo "Cleaned slug PDFs and HTML."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue