blob: e0c447074eeab475fbf6b93cc03c82a4db8b632c [file] [log] [blame]
Adrià Vilanova Martínezb55b2842024-05-28 19:28:49 +02001.PHONY: node_deps clean_dist deps clean_deps serve_chromium_mv3 serve_edge serve_edge_mv3 release release_chromium_stable release_chromium_beta release_chromium_canary 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
Adrià Vilanova Martínez86fda492022-05-31 15:05:21 +020020serve_chromium_mv3: deps
21 $(WEBPACK) --mode development --env browser_target=chromium_mv3 --watch
22
Adrià Vilanova Martínez8b63fb32022-05-29 23:26:50 +020023serve_edge: deps
24 $(WEBPACK) --mode development --env browser_target=edge --watch
25
Adrià Vilanova Martínez86fda492022-05-31 15:05:21 +020026serve_edge_mv3: deps
27 $(WEBPACK) --mode development --env browser_target=edge_mv3 --watch
28
Adrià Vilanova Martínez8b63fb32022-05-29 23:26:50 +020029release: release_chromium_stable release_chromium_beta release_edge
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020030
31release_chromium_stable: deps
Adrià Vilanova Martínezb55b2842024-05-28 19:28:49 +020032 $(WEBPACK) --mode production --env browser_target=chromium_mv3
33 $(RELEASE_SCRIPT) -c stable -b chromium_mv3 -f
34 rm -rf dist/chromium_mv3
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020035
36release_chromium_beta: deps
Adrià Vilanova Martínezb55b2842024-05-28 19:28:49 +020037 $(WEBPACK) --mode production --env browser_target=chromium_mv3
38 $(RELEASE_SCRIPT) -c beta -b chromium_mv3 -f
39 rm -rf dist/chromium_mv3
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020040
Adrià Vilanova Martínez87e35052022-06-01 14:05:29 +020041release_chromium_canary: deps
42 $(WEBPACK) --mode production --env browser_target=chromium_mv3 --env canary
43 $(RELEASE_SCRIPT) -c canary -b chromium_mv3 -f
44 rm -rf dist/chromium_mv3
45
Adrià Vilanova Martínez8b63fb32022-05-29 23:26:50 +020046release_edge: deps
47 $(WEBPACK) --mode production --env browser_target=edge
48 $(RELEASE_SCRIPT) -c stable -b edge -f
49 rm -rf dist/edge
50
Adrià Vilanova Martínezd4f82c52022-05-29 21:54:34 +020051# Target to build the extension for webext lint in the Zuul Check Pipeline.
52build_test_extension: deps
Adrià Vilanova Martínezb55b2842024-05-28 19:28:49 +020053 $(WEBPACK) --mode production --env browser_target=chromium_mv3
54 $(RELEASE_SCRIPT) -c stable -b chromium_mv3 -f
Adrià Vilanova Martínezd4f82c52022-05-29 21:54:34 +020055
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020056clean_releases:
avm99963f01af0e2020-12-26 23:11:10 +010057 rm -rf out
Adrià Vilanova Martíneza197d862022-05-27 17:33:20 +020058
59clean: clean_deps clean_dist clean_releases