Skip to content

Commit 27b8428

Browse files
tdhopperclaude
andcommitted
Add automatic dependency setup to Makefile
Use Make's dependency system to automatically install dependencies before building. This follows standard Make patterns: - Create .setup_done sentinel file after successful setup - Make render and run_nb depend on .setup_done - Running 'make' will now automatically run setup if needed - Setup only runs once (or after 'make clean') - Add .setup_done to .gitignore Now users can just run 'make' and everything works. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 35f7c98 commit 27b8428

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
web/index.html
22
web/img/plots/
3-
Examples.*.ipynb
3+
Examples.*.ipynb
4+
.setup_done

Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,35 @@ clean:
1111
rm -f Examples.*.ipynb
1212
rm -f *.pyc
1313
rm -f .Rhistory
14+
rm -f .setup_done
1415

1516
travis: render
1617

17-
setup:
18+
.setup_done:
1819
@echo "Setting up development environment..."
1920
@echo "1. Installing Python dependencies with uv..."
2021
@command -v uv >/dev/null 2>&1 || { echo "Installing uv..."; curl -LsSf https://astral.sh/uv/install.sh | sh; }
2122
uv pip install -r requirements.txt
2223
@echo "2. Installing R packages..."
2324
@./setup_r.sh
2425
@echo "✓ Setup complete!"
26+
@touch .setup_done
27+
28+
setup: .setup_done
2529

2630
test:
2731
python -m pytest tests/
2832

2933
qrender:
3034
python render.py "Examples.ipynb"
3135

32-
render: run_nb
36+
render: .setup_done run_nb
3337
python render.py "Examples.$(GIT_COMMIT).ipynb"
3438

3539
s3_upload:
3640
s3cmd sync $(OUTPUTDIR)/ s3://$(S3_BUCKET) --acl-public --delete-removed --guess-mime-type --no-mime-magic --no-preserve
3741

38-
run_nb:
42+
run_nb: .setup_done
3943
jupyter nbconvert --to notebook --execute "Examples.ipynb" --output "Examples.$(GIT_COMMIT).ipynb"
4044

4145
dev_environment: setup

0 commit comments

Comments
 (0)