75 lines
3.0 KiB
Makefile
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; \
|
|
}
|