summaryrefslogtreecommitdiff
path: root/Makefile
blob: 2615d026b905c48530167615254837b2d7af70bd (plain)
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
BUILD_DIR := ./build
ARTIFACTS_DIR := $(BUILD_DIR)/artifacts
VERSION := $(shell git describe --dirty --long --always)
TARGET_NAME := soundbox-$(VERSION)
VERSIONED_DOC := $(ARTIFACTS_DIR)/$(TARGET_NAME)-documentation.pdf
TARGET_DIR := $(ARTIFACTS_DIR)/$(TARGET_NAME)
ARCHIVE := $(ARTIFACTS_DIR)/$(TARGET_NAME).tar.zst

all: $(ARCHIVE) $(VERSIONED_DOC)

$(ARCHIVE): $(TARGET_DIR)
	tar --zstd -cf $@ -C $(ARTIFACTS_DIR) $(TARGET_NAME)

$(VERSIONED_DOC): doc
	install -Dm 644 $(BUILD_DIR)/doc/documentation.pdf $@

$(TARGET_DIR): debug
	rm -rf $@
	mkdir -p $@
	install -Dm 644 $(BUILD_DIR)/doc/documentation.pdf $@
	install -Dm 644 $(BUILD_DIR)/mech/assembly.gcode $@
	install -Dm 644 $(BUILD_DIR)/mech/assembly.stl $@
	install -Dm 644 $(BUILD_DIR)/mech/production.gcode $@
	install -Dm 644 $(BUILD_DIR)/mech/production.stl $@
	install -Dm 644 $(BUILD_DIR)/mech/pcb_case/tolerance_tests.gcode $@
	install -Dm 644 $(BUILD_DIR)/mech/pcb_case/tolerance_tests.stl $@

debug: doc mech

.PHONY: clean
clean:
	rm -rf $(BUILD_DIR)

include doc/doc.mk
include mech/mech.mk