Merge pull request #6474 from dearblue/kwerr
[mruby.git] / Makefile
blobd60ec5ea76d0bcb98cd50d8b04479f74bd965b75
1 # mruby is using Rake (https://ruby.github.io/rake/) as a build tool.
3 RAKE = rake
4 DOCKER_COMPOSE = docker-compose
5 PRE_COMMIT = pre-commit
7 define check_command
8 @command -v $(1) >/dev/null 2>&1 || { \
9 echo "Error: $(1) is not installed or not in PATH."; \
10 exit 1; \
12 endef
14 all : check_rake
15 $(RAKE)
16 .PHONY : all
18 test : check_rake all
19 $(RAKE) test
20 .PHONY : test
22 clean : check_rake
23 $(RAKE) clean
24 .PHONY : clean
26 check : check_pre_commit
27 $(PRE_COMMIT) run --all-files
28 .PHONY : check
30 checkinstall : check_pre_commit
31 $(PRE_COMMIT) install
32 .PHONY : checkinstall
34 checkupdate : check_pre_commit
35 $(PRE_COMMIT) autoupdate
36 .PHONY : checkupdate
38 composecheck : check_docker_compose check_pre_commit
39 $(DOCKER_COMPOSE) -p mruby run test $(PRE_COMMIT) run --all-files
40 .PHONY : composecheck
42 composetest : check_docker_compose
43 $(DOCKER_COMPOSE) -p mruby run test
44 .PHONY : composetest
46 check_rake:
47 $(call check_command, $(RAKE))
48 .PHONY : check_rake
50 check_docker_compose:
51 $(call check_command, $(DOCKER_COMPOSE))
52 .PHONY : check_docker_compose
54 check_pre_commit:
55 $(call check_command, $(PRE_COMMIT))
56 .PHONY : check_pre_commit