32 lines
897 B
Makefile
32 lines
897 B
Makefile
BACKGROUND_ELM_FILES=$(shell find src/Background/ -name '*.elm')
|
|
FOREGROUND_ELM_FILES=$(shell find src/Foreground/ -name '*.elm')
|
|
BACKGROUND_JS_FILES=$(patsubst src/%.elm,build/%.js,$(BACKGROUND_ELM_FILES))
|
|
FOREGROUND_JS_FILES=$(patsubst src/%.elm,build/%.js,$(FOREGROUND_ELM_FILES))
|
|
|
|
DEPENDS_BACKGROUND := background.js
|
|
DEPENDS_FOREGROUND := app.js
|
|
DEPENDS := build/background.js build/foreground.js
|
|
COPY := manifest.json app.html
|
|
|
|
package: all
|
|
cd build && zip -FS extension.xpi *
|
|
|
|
all: clean prepare $(COPY) $(DEPENDS)
|
|
cp $(COPY) build
|
|
|
|
build/foreground.js: $(FOREGROUND_JS_FILES) $(DEPENDS_FOREGROUND)
|
|
cat $^ > $@
|
|
|
|
build/background.js: $(BACKGROUND_JS_FILES) $(DEPENDS_BACKGROUND)
|
|
cat $^ > $@
|
|
|
|
build/%.js: src/%.elm
|
|
elm make --optimize $^ --output=$@
|
|
|
|
clean:
|
|
[ -e build ] && rm -r build || /bin/true
|
|
|
|
prepare:
|
|
[ ! -e build ] && mkdir build || /bin/true
|
|
|
|
.PHONY: package all clean prepare |