Files
zettelclean/Makefile
Ruben Carlo Benante 4ba2717902
Some checks failed
Zettelclean CI / build (20.x) (push) Has been cancelled
Zettelclean CI / build (22.x) (push) Has been cancelled
Zettelclean CI / build (24.x) (push) Has been cancelled
Release Zettelclean / build (push) Has been cancelled
Makefile to install, and License GNU GPLv3
2026-07-28 20:57:51 -03:00

75 lines
3.0 KiB
Makefile

# **************************************************************************
# * (C)opyright 2026 by Ruben Carlo Benante *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU General Public License as published by *
# * the Free Software Foundation, either version 3 of the License, or *
# * (at your option) any later version. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU General Public License for more details. *
# * *
# * You should have received a copy of the GNU General Public License *
# * along with this program. If not, see http://www.gnu.org/licenses/. *
# * *
# * Contact author at: *
# * Ruben Carlo Benante *
# * rcb@beco.cc *
# **************************************************************************
# Makefile for zettelclean - build and install into an Obsidian vault on this machine.
#
# Usage:
# make # build main.js
# make install # build, then copy the plugin files into your vault
# make copy # copy only (no rebuild)
# make uninstall # remove the plugin folder from your vault
#
# Set your vault once below, or override per call:
# make install VAULT=/home/beco/notes/MyVault
PLUGIN_ID := zettelclean
# EDIT THIS: absolute path to your Obsidian vault (the folder that contains .obsidian).
VAULT ?= /path/to/your/ObsidianVault
PLUGIN_DIR := $(VAULT)/.obsidian/plugins/$(PLUGIN_ID)
# Files that actually ship. styles.css is included only if it exists.
FILES := main.js manifest.json
ifneq ("$(wildcard styles.css)","")
FILES += styles.css
endif
.PHONY: all build install copy uninstall clean check-vault
all: build
build:
npm run build
install: build copy
copy: check-vault
mkdir -p "$(PLUGIN_DIR)"
cp $(FILES) "$(PLUGIN_DIR)/"
@echo "Installed $(PLUGIN_ID) -> $(PLUGIN_DIR)"
@echo "Now: reload Obsidian (Settings -> Community plugins -> refresh) and enable Zettelclean."
uninstall: check-vault
rm -rf "$(PLUGIN_DIR)"
@echo "Removed $(PLUGIN_DIR)"
clean:
rm -f main.js
# Fail early with a clear message if the vault path is wrong or unset.
check-vault:
@test -d "$(VAULT)/.obsidian" || { \
echo "ERROR: '$(VAULT)' is not an Obsidian vault (no .obsidian folder)."; \
echo "Edit VAULT in the Makefile, or run: make install VAULT=/abs/path/to/vault"; \
exit 1; \
}