|
| 1 | +# This file is generated automatically from metadata |
| 2 | +# File edits may be overwritten! |
| 3 | + |
| 4 | +.PHONY: upload |
| 5 | +upload: metadata package twine add clean |
| 6 | + |
| 7 | +MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) |
| 8 | +MAKEFILE_DIR := $(notdir $(patsubst %/,%,$(dir $(MAKEFILE_PATH)))) |
| 9 | +GUIX-TIME-MACHINE = guix time-machine -C $(MAKEFILE_DIR)/guix/channels.scm |
| 10 | +GUIX-SHELL = $(GUIX-TIME-MACHINE) -- shell -f $(MAKEFILE_DIR)/guix/guix.scm |
| 11 | +GUIX-DEV-SHELL = $(GUIX-TIME-MACHINE) -- shell -D -f $(MAKEFILE_DIR)/guix/guix.scm |
| 12 | +CONTAINER = --container --network --preserve='^DISPLAY$$' --preserve='^TERM$$' |
| 13 | +GUIX-CONTAINER = $(GUIX-SHELL) $(CONTAINER) |
| 14 | +GUIX-DEV-CONTAINER = $(GUIX-DEV-SHELL) $(CONTAINER) |
| 15 | +VENV-SHELL = rm -rf .venv; mkdir .venv; python3 -m venv .venv; source .venv/bin/activate |
| 16 | +DOCKER-DEV-IMAGE = docker build -f $(MAKEFILE_DIR)/docker/Dockerfile.dev -t serial_interface-dev . |
| 17 | +DOCKER-DEV-CONTAINER = $(DOCKER-DEV-IMAGE); docker run -it serial_interface-dev |
| 18 | +DOCKER-IMAGE = $(DOCKER-DEV-IMAGE); docker build -f $(MAKEFILE_DIR)/docker/Dockerfile -t serial_interface . |
| 19 | +DOCKER-CONTAINER = $(DOCKER-IMAGE); docker run -it serial_interface |
| 20 | + |
| 21 | +.PHONY: guix-shell |
| 22 | +guix-shell: |
| 23 | + $(GUIX-SHELL) |
| 24 | + |
| 25 | +.PHONY: guix-dev-shell |
| 26 | +guix-dev-shell: |
| 27 | + $(GUIX-DEV-SHELL) |
| 28 | + |
| 29 | +.PHONY: guix-dev-container |
| 30 | +guix-dev-container: |
| 31 | + $(GUIX-DEV-CONTAINER) |
| 32 | + |
| 33 | +.PHONY: guix-dev-container-ipython |
| 34 | +guix-dev-container-ipython: |
| 35 | + $(GUIX-DEV-CONTAINER) -- ipython --no-autoindent |
| 36 | + |
| 37 | +.PHONY: guix-container |
| 38 | +guix-container: |
| 39 | + $(GUIX-CONTAINER) python-ipython --rebuild-cache |
| 40 | + |
| 41 | +.PHONY: requirements.txt |
| 42 | +requirements.txt: |
| 43 | + $(GUIX-DEV-CONTAINER) -- $(VENV-SHELL);\ |
| 44 | + pip install .;\ |
| 45 | + pip freeze --local --exclude serial_interface > requirements.txt;\ |
| 46 | + deactivate;\ |
| 47 | + rm -rf .venv |
| 48 | + |
| 49 | +.PHONY: docker-dev-container |
| 50 | +docker-dev-container: |
| 51 | + $(DOCKER-DEV-CONTAINER) |
| 52 | + |
| 53 | +.PHONY: docker-dev-container-ipython |
| 54 | +docker-dev-container-ipython: |
| 55 | + $(DOCKER-DEV-CONTAINER) ipython --no-autoindent |
| 56 | + |
| 57 | +.PHONY: docker-container |
| 58 | +docker-container: |
| 59 | + $(DOCKER-CONTAINER) |
| 60 | + |
| 61 | +.PHONY: metadata-edits |
| 62 | +metadata-edits: |
| 63 | + $(GUIX-DEV-CONTAINER) -- sh -c "emacs -q --no-site-file --no-site-lisp --no-splash -l $(MAKEFILE_DIR)/emacs/init.el --file $(MAKEFILE_DIR)/metadata.org" |
| 64 | + |
| 65 | +.PHONY: metadata |
| 66 | +metadata: requirements.txt |
| 67 | + $(GUIX-DEV-CONTAINER) -- sh -c "emacs --batch -Q -l $(MAKEFILE_DIR)/emacs/init.el --eval '(process-org \"$(MAKEFILE_DIR)/metadata.org\")'" |
| 68 | + |
| 69 | +.PHONY: package |
| 70 | +package: |
| 71 | + $(GUIX-DEV-CONTAINER) -- sh -c "python3 setup.py sdist bdist_wheel" |
| 72 | + |
| 73 | +.PHONY: twine |
| 74 | +twine: |
| 75 | + $(GUIX-DEV-CONTAINER) --network --expose=$$HOME/.pypirc --expose=/etc/ssl/certs/ca-certificates.crt -- sh -c "twine upload dist/*" |
| 76 | + |
| 77 | +.PHONY: add |
| 78 | +add: |
| 79 | + $(GUIX-DEV-CONTAINER) -- sh -c "git add --all" |
| 80 | + |
| 81 | +.PHONY: clean |
| 82 | +clean: |
| 83 | + $(GUIX-DEV-CONTAINER) -- sh -c "git clean -xdf" |
| 84 | + |
| 85 | +PORT = /dev/ttyACM0 |
| 86 | +GUIX-DEV-CONTAINER-PORT = $(GUIX-DEV-SHELL) $(CONTAINER) --expose=$(PORT) |
| 87 | +GUIX-CONTAINER-PORT = $(GUIX-SHELL) $(CONTAINER) --expose=$(PORT) |
| 88 | +DOCKER-DEV-CONTAINER-PORT = $(DOCKER-DEV-IMAGE); docker run -it --device=$(PORT) serial_interface-dev |
| 89 | +DOCKER-CONTAINER-PORT = $(DOCKER-IMAGE); docker run -it --device=$(PORT) serial_interface |
| 90 | + |
| 91 | +.PHONY: guix-dev-container-port-serial |
| 92 | +guix-dev-container-port-serial: |
| 93 | + $(GUIX-DEV-CONTAINER-PORT) picocom -- picocom -b 2000000 -f n -y n -d 8 -p 1 -c $(PORT) |
| 94 | + |
| 95 | +.PHONY: guix-dev-container-port-ipython |
| 96 | +guix-dev-container-port-ipython: |
| 97 | + $(GUIX-DEV-CONTAINER-PORT) -- ipython --no-autoindent |
| 98 | + |
| 99 | +.PHONY: guix-container-port |
| 100 | +guix-container-port: |
| 101 | + $(GUIX-CONTAINER-PORT) python-ipython --rebuild-cache |
| 102 | + |
| 103 | +.PHONY: docker-dev-container-port-ipython |
| 104 | +docker-dev-container-port-ipython: |
| 105 | + $(DOCKER-DEV-CONTAINER-PORT) ipython --no-autoindent |
| 106 | + |
| 107 | +.PHONY: docker-container-port |
| 108 | +docker-container-port: |
| 109 | + $(DOCKER-CONTAINER-PORT) |
0 commit comments