# Programa Python, motor JavaScript y simbolos incluidos; sin Siru ni Calcula.
PREFIX ?= /usr/local
prefix ?= $(PREFIX)
DESTDIR ?=
PYTHON ?= python3
NPM ?= npm
PRUEBA ?= 0
PARA ?= deb
CANAL ?= inestable
DESCARGAS ?=
LISTA_PAQUETES ?= ../subir.lista
SUMMAPACK_BIN ?=

.PHONY: all check install uninstall remove clean pkg subir bajar help
all: node_modules/.bin/netlistsvg

node_modules/.bin/netlistsvg: package.json package-lock.json
	$(NPM) ci --omit=dev --ignore-scripts --no-audit --no-fund

check: all
	$(PYTHON) pruebas/formas.py
	$(PYTHON) pruebas/paquetes.py

# Instalar no descarga dependencias ni ejecuta pruebas.
install:
	$(PYTHON) instalar.py "$(prefix)" "$(DESTDIR)"

uninstall remove:
	$(PYTHON) instalar.py --uninstall "$(prefix)" "$(DESTDIR)"

subir:
	$(PYTHON) paquetes.py subir --prueba="$(PRUEBA)" --lista="$(LISTA_PAQUETES)" --bin="$(SUMMAPACK_BIN)"

bajar:
	$(PYTHON) paquetes.py bajar --prueba="$(PRUEBA)" --para="$(PARA)" --canal="$(CANAL)" --destino="$(DESCARGAS)" --bin="$(SUMMAPACK_BIN)"

clean:
	@echo 'dibuja no genera objetos de compilacion.'

pkg:
	./hacer-pkg

help:
	@echo 'make; make check; sudo make install (PREFIX=/usr/local por omision)'
	@echo 'make install PREFIX="$$HOME/.local"; make uninstall con el mismo PREFIX'
	@echo './hacer-pkg; ../summapack/distros/compilar ubuntu2204 dibuja'
	@echo 'make subir PRUEBA=1; make subir (canal inestable)'
	@echo 'make bajar PARA=deb CANAL=inestable DESCARGAS=/ruta'
