-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.build
More file actions
68 lines (56 loc) · 2.37 KB
/
Makefile.build
File metadata and controls
68 lines (56 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
###############################################################################
# Makefile.build - Environment setup for Sample Generator project
#
# Handles building Python and Julia environments for main and test modules.
###############################################################################
.PHONY: build-python build-julia build-check-wave build-play-wave build-play-midi
# Python project variables
PY_PROJECT_DIR := src/generateNote
PY_VENV := $(PY_PROJECT_DIR)/.venv
# Julia project variables
JULIA_PROJECT_DIR := src/generateWave
# Test environment directories
CHECK_WAVE_DIR := tests/checkWAVE
PLAY_WAVE_DIR := tests/playWAVE
PLAY_MIDI_DIR := tests/playMIDI
PY_MIDI_VENV := $(PLAY_MIDI_DIR)/.venv
###############################################################################
# Python environment setup
###############################################################################
build-python:
@echo "\n=== Setting up Python environment ==="
cd $(PY_PROJECT_DIR) && \
@python3 -m venv .venv && \
.venv/bin/pip3 install --upgrade pip && \
.venv/bin/pip3 install -e . && \
touch .venv/.installed
@echo "Python environment ready!"
###############################################################################
# Julia environment setup
###############################################################################
build-julia:
@echo "\n=== Setting up Julia environment ==="
@julia --project=$(JULIA_PROJECT_DIR) -e 'using Pkg; Pkg.add("MIDI")'
@echo "Julia environment ready!"
###############################################################################
# Test environments setup
###############################################################################
# Setup for check-wave Julia test environment
build-check-wave:
@echo "Building check-wave environment..."
@julia --project=$(CHECK_WAVE_DIR) -e 'using Pkg; Pkg.add("WAV")'
@echo "check-wave environment built!"
# Setup for play-wave Julia test environment
build-play-wave:
@echo "Building play-wave environment..."
@julia --project=$(PLAY_WAVE_DIR) -e 'using Pkg; Pkg.add("WAV")'
@echo "play-wave environment built!"
# Setup for play-midi Python test environment
build-play-midi:
@echo "Building play-midi environment..."
cd $(PLAY_MIDI_DIR) && \
@python3 -m venv .venv && \
.venv/bin/pip3 install --upgrade pip && \
.venv/bin/pip3 install -e . && \
touch .venv/.installed
@echo "play-midi environment built!"