diff --git a/.gitignore b/.gitignore index 45165f9..40a882d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +*.swp *.pyc /native/textern.json diff --git a/Makefile b/Makefile index b44f9e4..2311004 100644 --- a/Makefile +++ b/Makefile @@ -1,40 +1,60 @@ -ifneq ($(USER),1) - PREFIX ?= /usr/local - MOZILLA_PREFIX ?= /usr - MOZILLA_NATIVE ?= $(MOZILLA_PREFIX)/lib64/mozilla/native-messaging-hosts -else - PREFIX ?= $(HOME)/.local - MOZILLA_NATIVE ?= $(HOME)/.mozilla/native-messaging-hosts -endif +MOZILLA ?= /usr/lib/mozilla +MOZILLA_NATIVE_SYSTEM ?= $(MOZILLA)/native-messaging-hosts +#MOZILLA64 ?= /usr/lib64/mozilla +#MOZILLA_NATIVE_SYSTEM64 ?= $(MOZILLA64)/native-messaging-hosts +LIBEXEC_SYSTEM ?= /usr/local/libexec +TEXTERN_SYSTEM ?= $(LIBEXEC_SYSTEM)/textern -LIBEXEC ?= $(PREFIX)/libexec +MOZILLA_NATIVE_USER ?= $(HOME)/.mozilla/native-messaging-hosts +TEXTERN_USER ?= $(HOME)/.local/libexec/textern .PHONY: all all: @echo "No build step. Available targets:" - @echo "native-install install native app" - @echo "native-uninstall uninstall native app" - @echo "xpi create XPI webex archive" - @echo - @echo "Set USER=1 to target user directories instead." - -# make phony and don't depend on .in file in case $USER changes -.PHONY: native/textern.json -native/textern.json: - sed -e 's|@@NATIVE_PATH@@|$(LIBEXEC)/textern/textern.py|' $@.in > $@ - -.PHONY: native-install -native-install: native/textern.json - mkdir -p $(DESTDIR)$(MOZILLA_NATIVE) - cp -f native/textern.json $(DESTDIR)$(MOZILLA_NATIVE) - mkdir -p $(DESTDIR)$(LIBEXEC)/textern - cp -rf native/textern.py native/inotify_simple $(DESTDIR)$(LIBEXEC)/textern - -.PHONY: native-uninstall -native-uninstall: - rm -f $(DESTDIR)$(MOZILLA_NATIVE)/textern.json - rm -rf $(DESTDIR)$(LIBEXEC)/textern + @echo "native-install-system install native app for all user" + @echo "native-uninstall-system uninstall native app for all user" + @echo "native-install-user install native app only for current user" + @echo "native-uninstall-user uninstall native app for current user" + @echo "xpi create XPI webex archive" + +.PHONY: native-install-system +native-install-system: + mkdir -p $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM) + chmod o+rX $(DESTDIR)$(MOZILLA) + chmod o+rX $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM) + sed -e 's|@@NATIVE_PATH@@|$(TEXTERN_SYSTEM)/textern.py|' native/textern.json.in > $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json + chmod o+r $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json + @#mkdir -p $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64) + @#chmod o+rX $(DESTDIR)$(MOZILLA64) + @#chmod o+rX $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64) + @#ln -s $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64)/textern.json + + mkdir -p $(DESTDIR)$(TEXTERN_SYSTEM) + chmod o+rX $(DESTDIR)$(LIBEXEC_SYSTEM) + cp -rf native/textern.py native/inotify_simple $(DESTDIR)$(TEXTERN_SYSTEM) + chmod -R o+rX $(DESTDIR)$(TEXTERN_SYSTEM) + +.PHONY: native-uninstall-system +native-uninstall-system: + rm -f $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json + rm -f $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64)/textern.json + rm -rf $(DESTDIR)$(TEXTERN_SYSTEM) + +.PHONY: native-install-user +native-install-user: + mkdir -p $(DESTDIR)$(MOZILLA_NATIVE_USER) + sed -e 's|@@NATIVE_PATH@@|$(TEXTERN_USER)/textern.py|' native/textern.json.in > $(DESTDIR)$(MOZILLA_NATIVE_USER)/textern.json + + mkdir -p $(DESTDIR)$(TEXTERN_USER) + cp -rf native/textern.py native/inotify_simple $(DESTDIR)$(TEXTERN_USER) + +.PHONY: native-uninstall-user +native-uninstall-user: + rm -f $(DESTDIR)$(MOZILLA_NATIVE_USER)/textern.json + rm -rf $(DESTDIR)$(TEXTERN_USER) .PHONY: xpi xpi: @rm -f textern.xpi && cd webex && zip -r -FS ../textern.xpi * + +# vim: filetype=make tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab autoindent nowrap diff --git a/README.md b/README.md index f3bf913..f502fd9 100644 --- a/README.md +++ b/README.md @@ -34,23 +34,29 @@ submodules (either use the `--recurse-submodules` when running `git clone` as shown above, or use `git submodule update --init` if already cloned). -To install the native app, run: +To install the native app for all user, run: ``` -$ sudo make native-install +$ sudo make native-install-system ``` To uninstall it, run: ``` -$ sudo make native-uninstall +$ sudo make native-uninstall-system ``` If you do not have root privileges or wish to only install the native app for the current user, run: ``` -$ make native-install USER=1 +$ make native-install-user +``` + +To uninstall it, run: + +``` +$ make native-uninstall-user ``` ## Usage