NAME := gnexus-creds-extension
VERSION := 0.1.0
SRC := manifest.json src icons lib
BUILD := build
DIST := dist
.PHONY: all clean chrome firefox
all: chrome firefox
clean:
rm -rf $(BUILD) $(DIST)
$(BUILD)/chrome: $(SRC)
mkdir -p $@
cp -r $(SRC) $@/
node -e "const fs=require('fs'); const m=JSON.parse(fs.readFileSync('$@/manifest.json')); delete m.browser_specific_settings; fs.writeFileSync('$@/manifest.json', JSON.stringify(m,null,2));"
sed -i 's|url("../assets/|url("assets/|g' $@/lib/gnexus-ui-kit.css
sed -i "s|url('/assets/|url('assets/|g" $@/lib/gnexus-ui-kit.css
$(BUILD)/firefox: $(SRC)
mkdir -p $@
cp -r $(SRC) $@/
# Firefox MV3 has no background.service_worker / type:"module":
# bundle api.js + background.js into one classic script and use event-page scripts.
node tools/bundle-background.js $@
node -e "const fs=require('fs'); const p='$@/manifest.json'; const m=JSON.parse(fs.readFileSync(p)); m.background={scripts:['src/background.js']}; fs.writeFileSync(p, JSON.stringify(m,null,2));"
sed -i 's|url("../assets/|url("assets/|g' $@/lib/gnexus-ui-kit.css
sed -i "s|url('/assets/|url('assets/|g" $@/lib/gnexus-ui-kit.css
chrome: $(BUILD)/chrome
mkdir -p $(DIST)
cd $(BUILD)/chrome && zip -r ../../$(DIST)/$(NAME)-chrome-$(VERSION).zip .
firefox: $(BUILD)/firefox
mkdir -p $(DIST)
cd $(BUILD)/firefox && zip -r ../../$(DIST)/$(NAME)-firefox-$(VERSION).zip .