Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 94 lines (74 sloc) 2.49 KB
# The name of the extension.
extension_name := Tilt
# The UUID of the extension.
extension_uuid :=
# The name of the profile dir where the extension can be installed.
# Change me please!
profile_dir := cga7g034.default
# The zip application to be used.
ZIP := zip
# The target location of the build and build files.
bin_dir := ../bin
# The target XPI file.
xpi_file := $(bin_dir)/$(extension_name).xpi
# The type of operating system this make command is running on.
os_type := $(patsubst darwin%,darwin,$(shell echo $(OSTYPE)))
# The location of the extension profile.
ifeq ($(os_type), darwin)
profile_location := \
~/Library/Application\ Support/Firefox/Profiles/$(profile_dir)/extensions/$(extension_uuid)
ifeq ($(os_type), linux-gnu)
profile_location := \
profile_location := \
"$(subst \,\\,$(APPDATA))\\Mozilla\\Firefox\\Profiles\\$(profile_dir)\\extensions\\$(extension_uuid)"
# The temporary location where the extension tree will be copied and built.
build_dir := $(bin_dir)/build
# The install.rdf file.
install_rdf := install.rdf
# The chrome.manifest file.
chrome_manifest := chrome.manifest
# This builds the extension XPI file.
.PHONY: all
all: $(xpi_file)
@echo "Build finished successfully."
# This cleans all temporary files and directories created by 'make'.
.PHONY: clean
@rm -rf $(build_dir)
@rm -f $(xpi_file)
@echo "Cleanup is done."
# The includes are added after the targets because we want this file to contain
# the default (first) target.
# The sources for the XPI file. Uses variables defined in the included
# Makefiles.
xpi_built := $(build_dir)/$(install_rdf) \
$(build_dir)/$(chrome_manifest) \
xpi_built_no_dir := $(subst $(build_dir)/,,$(xpi_built))
# This builds everything except for the actual XPI, and then it copies it to the
# specified profile directory, allowing a quick update that requires no install.
.PHONY: install
install: $(build_dir) $(xpi_built)
@echo "Installing in profile folder: $(profile_location)"
@cp -Rf $(build_dir)/* $(profile_location)
@echo "Installing in profile folder. Done!"
$(xpi_file): $(build_dir) $(xpi_built)
@echo "Creating XPI file."
@cd $(build_dir); $(ZIP) ../$(xpi_file) $(xpi_built_no_dir)
@echo "Creating XPI file. Done!"
$(build_dir)/%: %
@cp -f $< $@
@if [ ! -x $(build_dir) ]; \
then \
mkdir $(build_dir); \