65 lines
1.6 KiB
Makefile
65 lines
1.6 KiB
Makefile
.PHONY: clean mrproper
|
|
|
|
EXTENSION_NAME := powerful-topbar
|
|
UUID := $(EXTENSION_NAME)@leo.ndrs.fr
|
|
AUTHOR_MAIL := leo@ndrs.fr
|
|
VERSION := 0.0.1
|
|
|
|
BUILD_DIR := _build
|
|
|
|
SRC_DIR := $(UUID)
|
|
SCHEMAS_DIR := $(SRC_DIR)/schemas
|
|
PO_DIR := $(SRC_DIR)/po
|
|
LOCALE_DIR := $(SRC_DIR)/locale
|
|
|
|
JS_FILES := $(wildcard $(SRC_DIR)/*.js)
|
|
FILES := $(SRC_DIR)/* README.md LICENSE.md
|
|
COMPILED_SCHEMAS := $(SCHEMAS_DIR)/gschemas.compiled
|
|
|
|
PO_FILES := $(wildcard $(PO_DIR)/*.po)
|
|
MO_FILES := $(PO_FILES:$(PO_DIR)/%.po=$(LOCALE_DIR)/%/LC_MESSAGES/$(UUID).mo)
|
|
MO_DIR := $(PO_FILES:$(PO_DIR)/%.po=$(LOCALE_DIR)/%/LC_MESSAGES)
|
|
POT_FILE := $(PO_DIR)/$(UUID).pot
|
|
TOLOCALIZE := $(JS_FILES:$(SRC_DIR)/%.js=%.js)
|
|
|
|
ifeq ($(strip $(DESTDIR)),)
|
|
INSTALLBASE := $(HOME)/.local
|
|
else
|
|
INSTALLBASE := $(DESTDIR)/usr
|
|
endif
|
|
|
|
INSTALLBASE := $(INSTALLBASE)/share/gnome-shell/extensions
|
|
INSTALL_DIR := $(INSTALLBASE)/$(UUID)
|
|
|
|
default: build clean
|
|
|
|
$(BUILD_DIR):
|
|
mkdir -p $@
|
|
|
|
$(COMPILED_SCHEMAS): $(SCHEMAS_DIR)/org.gnome.shell.extensions.$(EXTENSION_NAME).gschema.xml
|
|
glib-compile-schemas $(SCHEMAS_DIR)
|
|
|
|
$(LOCALE_DIR)/%/LC_MESSAGES:
|
|
mkdir -p $@
|
|
|
|
$(LOCALE_DIR)/%/LC_MESSAGES/$(UUID).mo: $(PO_DIR)/%.po $(MO_DIR)
|
|
msgfmt -c $< -o $@
|
|
|
|
$(POT_FILE): $(PO_DIR)
|
|
cd $(SRC_DIR) && xgettext --from-code=UTF-8 --package-name "gnome-shell-extension-$(EXTENSION_NAME)" --package-version=$(VERSION) --msgid-bugs-address=$(AUTHOR_MAIL) -k_ -kN_ -o po/$(UUD).pot $(TOLOCALIZE) && cd -
|
|
|
|
build: $(BUILD_DIR) $(COMPILED_SCHEMAS) $(MO_FILES)
|
|
cp -r $(FILES) $<
|
|
|
|
install: build
|
|
rm -rf $(INSTALL_DIR)
|
|
mkdir -p $(INSTALL_DIR)
|
|
cp -r $(BUILD_DIR)/* $(INSTALL_DIR)
|
|
|
|
clean:
|
|
rm -f $(COMPILED_SCHEMAS)
|
|
rm -rf $(LOCALE_DIR)
|
|
|
|
mrproper: clean
|
|
rm -rf $(BUILD_DIR)
|