blob: 166ca7b4d15c04f689e47db50e77c63933924e0e [file] [log] [blame]
Adrià Vilanova Martínez8b63fb32022-05-29 23:26:50 +02001.PHONY: node_deps clean_dist deps clean_deps serve_chromium serve_edge release release_chromium_stable release_chromium_beta release_edge build_test_extension clean_releases clean
avm99963f01af0e2020-12-26 23:11:10 +01002
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +02003.DEFAULT_GOAL := release
4WEBPACK := ./node_modules/webpack-cli/bin/cli.js
5RELEASE_SCRIPT := bash tools/release.bash
avm99963f01af0e2020-12-26 23:11:10 +01006
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +02007node_deps:
8 npm ci --no-save
avm999639bbb3a42020-12-29 03:29:44 +01009
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020010clean_dist:
11 rm -rf dist
avm99963f01af0e2020-12-26 23:11:10 +010012
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020013deps: node_deps
14 mkdir -p dist
15
16clean_deps:
17 rm -rf node_modules
18
19
20serve_chromium: deps
21 $(WEBPACK) --mode development --env browser_target=chromium --watch
22
Adrià Vilanova Martínez8b63fb32022-05-29 23:26:50 +020023serve_edge: deps
24 $(WEBPACK) --mode development --env browser_target=edge --watch
25
26release: release_chromium_stable release_chromium_beta release_edge
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020027
28release_chromium_stable: deps
29 $(WEBPACK) --mode production --env browser_target=chromium
30 $(RELEASE_SCRIPT) -c stable -b chromium -f
31 rm -rf dist/chromium
32
33release_chromium_beta: deps
34 $(WEBPACK) --mode production --env browser_target=chromium
35 $(RELEASE_SCRIPT) -c beta -b chromium -f
36 rm -rf dist/chromium
37
Adrià Vilanova Martínez8b63fb32022-05-29 23:26:50 +020038release_edge: deps
39 $(WEBPACK) --mode production --env browser_target=edge
40 $(RELEASE_SCRIPT) -c stable -b edge -f
41 rm -rf dist/edge
42
Adrià Vilanova Martínezd4f82c52022-05-29 21:54:34 +020043# Target to build the extension for webext lint in the Zuul Check Pipeline.
44build_test_extension: deps
45 $(WEBPACK) --mode production --env browser_target=chromium
46 $(RELEASE_SCRIPT) -c stable -b chromium -f
47
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020048clean_releases:
avm99963f01af0e2020-12-26 23:11:10 +010049 rm -rf out
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020050
51clean: clean_deps clean_dist clean_releases