makefile: konsolidiere dev — nur 'make dev' (alle kurse, port 1312), per-course dev-targets + _PORT vars raus

This commit is contained in:
2026-05-07 10:58:24 +02:00
parent 6e41b8c3eb
commit df52a8c6a5
2 changed files with 11 additions and 17 deletions

View File

@@ -37,11 +37,13 @@ build/ # Generated output (gitignored)
## Build Commands ## Build Commands
Unified per-course pattern: `make <target>-<course>`. Group targets without Unified per-course pattern: `make <target>-<course>`. Group targets without
suffix run for all courses. suffix run for all courses. Single dev server serves all courses.
```bash ```bash
# Per-course (replace <c> with course id: 223015b, 223015c, dhbw) # Dev (all courses, single port)
make dev-<c> # Live server (HMR) on per-course port make dev # Live server (HMR), port 1312
# Per-course build/deploy (replace <c> with course id: 223015b, 223015c, dhbw)
make build-<c> # Build HTML + PDF make build-<c> # Build HTML + PDF
make html-<c> # HTML only make html-<c> # HTML only
make pdf-<c> # PDF only make pdf-<c> # PDF only
@@ -49,17 +51,14 @@ make klausur-<c> # Extract klausur slides (HdM only)
make deploy-<c> # Build + deploy single course (ASK FIRST!) make deploy-<c> # Build + deploy single course (ASK FIRST!)
# All courses # All courses
make dev # Combined dev server (port 1312, all courses)
make build # Build everything make build # Build everything
make html / pdf # HTML / PDF only make html / pdf # HTML / PDF only
make klausur # Extract klausur (HdM courses only) make klausur # Extract klausur (HdM courses only)
make deploy # Deploy everything (ASK FIRST!) make deploy # Deploy everything (ASK FIRST!)
``` ```
Per-course ports: `223015b` → 1313, `223015c` → 1314, `dhbw` → 1315.
**Adding a new course:** add id to `COURSES` in Makefile + define `<id>_NAME`, **Adding a new course:** add id to `COURSES` in Makefile + define `<id>_NAME`,
`<id>_KAPITEL`, `<id>_DEPLOY`, `<id>_PORT`, `<id>_KLAUSUR`. No new targets needed. `<id>_KAPITEL`, `<id>_DEPLOY`, `<id>_KLAUSUR`. No new targets needed.
## Nix Flake Commands ## Nix Flake Commands

View File

@@ -15,19 +15,16 @@ DEPLOY_HOST = tengo@tuttle.uberspace.de
223015b_NAME = Dateiformate, Schnittstellen, Speichermedien 223015b_NAME = Dateiformate, Schnittstellen, Speichermedien
223015b_KAPITEL = 00-intro 01-grundlagen-text-audio 02-bild-audio-video 03-speichermedien-schnittstellen 04-distribution-apis-zukunft 05-vertiefung-offene-fragen klausurfolien klausurfragen 223015b_KAPITEL = 00-intro 01-grundlagen-text-audio 02-bild-audio-video 03-speichermedien-schnittstellen 04-distribution-apis-zukunft 05-vertiefung-offene-fragen klausurfolien klausurfragen
223015b_DEPLOY = /home/tengo/html/hdm/223015b 223015b_DEPLOY = /home/tengo/html/hdm/223015b
223015b_PORT = 1313
223015b_KLAUSUR = 1 223015b_KLAUSUR = 1
223015c_NAME = Internettechnologien 223015c_NAME = Internettechnologien
223015c_KAPITEL = 01-geschichte-grundlagen-html 02-netzwerke-protokolle-css 03-interaktivitaet-javascript klausurfolien klausurfragen 223015c_KAPITEL = 01-geschichte-grundlagen-html 02-netzwerke-protokolle-css 03-interaktivitaet-javascript klausurfolien klausurfragen
223015c_DEPLOY = /home/tengo/html/hdm/223015c 223015c_DEPLOY = /home/tengo/html/hdm/223015c
223015c_PORT = 1314
223015c_KLAUSUR = 1 223015c_KLAUSUR = 1
dhbw_NAME = Technik I Grundlagen IT dhbw_NAME = Technik I Grundlagen IT
dhbw_KAPITEL = 01_web_eng 02_css_extended 03_nodejs_basics 04_nodejs_advanced 05_testing 06_typescript 07_docker 08_best_practices dhbw_KAPITEL = 01_web_eng 02_css_extended 03_nodejs_basics 04_nodejs_advanced 05_testing 06_typescript 07_docker 08_best_practices
dhbw_DEPLOY = /home/tengo/html/dhbw dhbw_DEPLOY = /home/tengo/html/dhbw
dhbw_PORT = 1315
dhbw_KLAUSUR = dhbw_KLAUSUR =
# Courses with klausur extraction enabled # Courses with klausur extraction enabled
@@ -43,8 +40,10 @@ help:
@echo "Courses:" @echo "Courses:"
@for c in $(COURSES); do echo " $$c"; done @for c in $(COURSES); do echo " $$c"; done
@echo "" @echo ""
@echo "Per-course (replace <c> with course id):" @echo "Dev:"
@echo " make dev-<c> Live server (HMR)" @echo " make dev Live server, all courses (port 1312)"
@echo ""
@echo "Per-course build/deploy (replace <c> with course id):"
@echo " make build-<c> Build HTML + PDF" @echo " make build-<c> Build HTML + PDF"
@echo " make html-<c> Build HTML only" @echo " make html-<c> Build HTML only"
@echo " make pdf-<c> Build PDF only" @echo " make pdf-<c> Build PDF only"
@@ -52,7 +51,6 @@ help:
@echo " make deploy-<c> Build + deploy" @echo " make deploy-<c> Build + deploy"
@echo "" @echo ""
@echo "All courses:" @echo "All courses:"
@echo " make dev Combined dev server (port 1312, all courses)"
@echo " make build Build everything" @echo " make build Build everything"
@echo " make html / pdf HTML / PDF only" @echo " make html / pdf HTML / PDF only"
@echo " make klausur Extract klausur (HdM courses)" @echo " make klausur Extract klausur (HdM courses)"
@@ -73,12 +71,9 @@ build/.exists:
@touch $@ @touch $@
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Pattern rules: dev-<c>, build-<c>, html-<c>, pdf-<c>, klausur-<c>, deploy-<c> # Pattern rules: build-<c>, html-<c>, pdf-<c>, klausur-<c>, deploy-<c>
# Per-course config read via $($*_VAR) # Per-course config read via $($*_VAR)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
dev-%:
@./scripts/dev-server.sh $* $($*_PORT)
build-%: build/.exists build-%: build/.exists
@echo "Building $*..." @echo "Building $*..."
@mkdir -p build/$* @mkdir -p build/$*