@@ -13,12 +13,15 @@ ifeq ($(OS),Windows_NT)
1313 VENV_BIN := $(VENV ) /Scripts
1414 PYTHON ?= $(VENV_BIN ) /python.exe
1515 BOOTSTRAP_PYTHON ?= python
16+ ACTIVATE_SCRIPT := $(VENV_BIN ) /activate
17+ ACTIVATE_HINT := use the activation script under $(VENV_BIN ) for your shell
1618else
1719 VENV_BIN := $(VENV ) /bin
1820 PYTHON ?= $(VENV_BIN ) /python3
1921 BOOTSTRAP_PYTHON ?= python3
22+ ACTIVATE_SCRIPT := $(VENV_BIN ) /activate
23+ ACTIVATE_HINT := source $(ACTIVATE_SCRIPT )
2024endif
21- ACTIVATE_SCRIPT := $(VENV_BIN ) /activate
2225
2326# Generated asset directory
2427GENERATED_DIR := generated
@@ -57,14 +60,16 @@ ifeq ($(SUBCMD),qc)
5760 @"$(PYTHON)" -m pip install poetry-core --quiet 2>/dev/null || true
5861 @"$(PYTHON)" -m pip install --no-deps \
5962 "asam-qc-baselib@git+https://github.com/asam-ev/qc-baselib-py@main" \
60- "asam-qc-opendrive@git+https://github.com/asam-ev /qc-opendrive@main " \
63+ "asam-qc-opendrive@git+https://github.com/jdsika /qc-opendrive@fix-contact-point-missing-road-link " \
6164 "asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@main" \
6265 "openmsl-qc-opendrive@git+https://github.com/openMSL/sl-5-9-openmsl-qc-opendrive@main"
66+ # NOTE: qc-opendrive is pinned to a fork pending upstream PR asam-ev/qc-opendrive#139.
67+ # Switch back to @main once the PR is merged.
6368 @echo "[OK] Quality checkers installed"
6469else
65- @$(MAKE) -C "$(ASSET_TOOLS)" setup VENV="$(CURDIR)/$(VENV)" PYTHON="$(CURDIR)/$(PYTHON)"
70+ @" $(MAKE)" -C "$(ASSET_TOOLS)" setup VENV="$(CURDIR)/$(VENV)" PYTHON="$(CURDIR)/$(PYTHON)"
6671 @"$(PYTHON)" -m pre_commit install --allow-missing-config >/dev/null 2>&1 || true
67- @echo "[OK] Setup complete. Activate with: source $(ACTIVATE_SCRIPT )"
72+ @echo "[OK] Setup complete. Activate with: $(ACTIVATE_HINT )"
6873endif
6974
7075$(PYTHON ) :
@@ -73,12 +78,12 @@ $(PYTHON):
7378 @" $( PYTHON) " -m pip install --upgrade pip
7479
7580$(ACTIVATE_SCRIPT ) : $(PYTHON )
76- @$(MAKE ) -C " $( ASSET_TOOLS) " setup VENV=" $( CURDIR) /$( VENV) " PYTHON=" $( CURDIR) /$( PYTHON) "
81+ @" $( MAKE) " -C " $( ASSET_TOOLS) " setup VENV=" $( CURDIR) /$( VENV) " PYTHON=" $( CURDIR) /$( PYTHON) "
7782 @touch " $( ACTIVATE_SCRIPT) "
7883
7984install :
8085 $(call check_dev_setup)
81- @$(MAKE ) -C " $( ASSET_TOOLS) " install VENV=" $( CURDIR) /$( VENV) " PYTHON=" $( CURDIR) /$( PYTHON) "
86+ @" $( MAKE) " -C " $( ASSET_TOOLS) " install VENV=" $( CURDIR) /$( VENV) " PYTHON=" $( CURDIR) /$( PYTHON) "
8287 @echo " [OK] Install complete"
8388
8489# ── Lint & Format ────────────────────────────────────────────────────
@@ -123,7 +128,7 @@ ifeq ($(SUBCMD),clean)
123128 @"$(PYTHON)" -c "import shutil; shutil.rmtree('$(GEN_OUTPUT)', ignore_errors=True)"
124129 @echo "[OK] Generated output removed (input/ blueprint preserved)"
125130else ifeq ($(SUBCMD),validate)
126- @$(MAKE) validate
131+ @" $(MAKE)" validate
127132else
128133 $(call check_dev_setup)
129134 @"$(PYTHON)" -c "\
@@ -158,18 +163,26 @@ endif
158163help :
159164 @echo " hd-map-asset-example -- Available Commands"
160165 @echo " "
161- @echo " make setup Create venv and install all dependencies"
162- @echo " make setup qc Also install quality checker tools (optional, slow)"
163- @echo " make install Install packages"
166+ @echo " make setup Create venv and install all dependencies"
167+ @echo " make setup qc Also install quality checker tools (optional, slow)"
168+ @echo " make install Install packages"
164169 @echo " "
165- @echo " make generate Run full pipeline: .xodr -> generated/ asset + zip"
166- @echo " make generate validate Validate the generated asset"
167- @echo " make generate clean Remove generated/output/ directory"
170+ @echo " make generate Run full pipeline: .xodr -> generated/ asset + zip"
171+ @echo " make generate validate Validate the generated asset"
172+ @echo " make generate clean Remove generated/output/ directory"
168173 @echo " "
169- @echo " make lint Lint (validates asset JSON-LD)"
170- @echo " make validate Validate generated/output/ asset against SHACL"
174+ @echo " make lint Lint (validates asset JSON-LD)"
175+ @echo " make validate Validate generated/output/ asset against SHACL"
171176 @echo " "
172- @echo " make clean Remove all build artifacts, caches, and generated/"
177+ @echo " make clean Remove all build artifacts, caches, and generated/"
178+ @echo " "
179+ @echo " Debug logging:"
180+ @echo " SL58_LOG_MODE=debug make generate"
181+ @echo " Shows full subprocess command lines, stdout/stderr, and tracebacks."
182+ @echo " "
183+ @echo " Deterministic mode (reproducible output):"
184+ @echo " SL58_DETERMINISTIC=1 make generate"
185+ @echo " Same input files produce identical UUIDs, timestamps, and CID."
173186
174187# ── Catch-all for subcommand arguments ───────────────────────────────
175188ifneq ($(filter setup generate,$(firstword $(MAKECMDGOALS ) ) ) ,)
0 commit comments