1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
# Basic Makefile
UUID = dash-to-dock@micxgx.gmail.com
BASE_MODULES = extension.js \
metadata.json \
COPYING \
README.md \
$(NULL)
EXTRA_MODULES = \
appSpread.js \
dash.js \
docking.js \
appIcons.js \
appIconsDecorator.js \
appIconIndicators.js \
fileManager1API.js \
imports.js \
launcherAPI.js \
locations.js \
locationsWorker.js \
notificationsMonitor.js \
windowPreview.js \
intellihide.js \
prefs.js \
theming.js \
utils.js \
dbusmenuUtils.js \
desktopIconsIntegration.js \
Settings.ui \
$(NULL)
EXTRA_MEDIA = logo.svg \
glossy.svg \
highlight_stacked_bg.svg \
highlight_stacked_bg_h.svg \
$(NULL)
TOLOCALIZE = prefs.js \
docking.js \
appIcons.js \
appIconsDecorator.js \
locations.js \
$(NULL)
MSGSRC = $(wildcard po/*.po)
ifeq ($(strip $(DESTDIR)),)
INSTALLTYPE = local
INSTALLBASE = $(HOME)/.local/share/gnome-shell/extensions
else
INSTALLTYPE = system
SHARE_PREFIX = $(DESTDIR)/usr/share
INSTALLBASE = $(SHARE_PREFIX)/gnome-shell/extensions
endif
INSTALLNAME = dash-to-dock@micxgx.gmail.com
# The command line passed variable VERSION is used to set the version string
# in the metadata and in the generated zip-file. If no VERSION is passed, the
# current commit SHA1 is used as version number in the metadata while the
# generated zip file has no string attached.
ifdef VERSION
VSTRING = _v$(VERSION)
else
VERSION = $(shell git rev-parse HEAD)
VSTRING =
endif
all: extension
clean:
rm -f ./schemas/gschemas.compiled
rm -f stylesheet.css
rm -rf _build
rm -f ./po/*.mo
extension: ./schemas/gschemas.compiled ./stylesheet.css $(MSGSRC:.po=.mo)
./schemas/gschemas.compiled: ./schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml
glib-compile-schemas ./schemas/
potfile: ./po/dashtodock.pot
mergepo: potfile
for l in $(MSGSRC); do \
msgmerge -U $$l ./po/dashtodock.pot; \
done;
./po/dashtodock.pot: $(TOLOCALIZE) Settings.ui
mkdir -p po
xgettext --keyword=__ --keyword=N__ --add-comments='Translators:' -o po/dashtodock.pot --package-name "Dash to Dock" --from-code=utf-8 $(TOLOCALIZE)
intltool-extract --type=gettext/glade Settings.ui
xgettext --keyword=_ --keyword=N_ --join-existing -o po/dashtodock.pot Settings.ui.h
./po/%.mo: ./po/%.po
msgfmt -c $< -o $@
./stylesheet.css: ./_stylesheet.scss
ifeq ($(SASS), ruby)
sass --sourcemap=none --no-cache --scss _stylesheet.scss stylesheet.css
else ifeq ($(SASS), dart)
sass --no-source-map _stylesheet.scss stylesheet.css
else ifeq ($(SASS), sassc)
sassc --omit-map-comment _stylesheet.scss stylesheet.css
else
sassc --omit-map-comment _stylesheet.scss stylesheet.css
endif
install: install-local
install-local: _build
rm -rf $(INSTALLBASE)/$(INSTALLNAME)
mkdir -p $(INSTALLBASE)/$(INSTALLNAME)
cp -r ./_build/* $(INSTALLBASE)/$(INSTALLNAME)/
ifeq ($(INSTALLTYPE),system)
# system-wide settings and locale files
rm -r $(INSTALLBASE)/$(INSTALLNAME)/schemas $(INSTALLBASE)/$(INSTALLNAME)/locale
mkdir -p $(SHARE_PREFIX)/glib-2.0/schemas $(SHARE_PREFIX)/locale
cp -r ./schemas/*gschema.* $(SHARE_PREFIX)/glib-2.0/schemas
cp -r ./_build/locale/* $(SHARE_PREFIX)/locale
endif
-rm -fR _build
echo done
zip-file: _build check
cd _build ; \
zip -qr "$(UUID)$(VSTRING).zip" .
mv _build/$(UUID)$(VSTRING).zip ./
-rm -fR _build
_build: all
-rm -fR ./_build
mkdir -p _build
cp $(BASE_MODULES) $(EXTRA_MODULES) _build
cp -a dependencies _build
cp stylesheet.css _build
mkdir -p _build/media
cd media ; cp $(EXTRA_MEDIA) ../_build/media/
mkdir -p _build/schemas
cp schemas/*.xml _build/schemas/
cp schemas/gschemas.compiled _build/schemas/
mkdir -p _build/locale
for l in $(MSGSRC:.po=.mo) ; do \
lf=_build/locale/`basename $$l .mo`; \
mkdir -p $$lf; \
mkdir -p $$lf/LC_MESSAGES; \
cp $$l $$lf/LC_MESSAGES/dashtodock.mo; \
done;
sed -i 's/"version": -1/"version": "$(VERSION)"/' _build/metadata.json;
ifeq ($(strip $(ESLINT)),)
ESLINT = eslint
endif
ifneq ($(strip $(ESLINT_TAP)),)
ESLINT_ARGS = -f tap
endif
check:
ESLINT_USE_FLAT_CONFIG=false $(ESLINT) $(ESLINT_ARGS) .
|