Skip to content

Commit 17d6047

Browse files
authored
Make more minor improvements to Makefiles (cucumber#394)
* [c/Makefile] add help as default target like with other languages * [Makefile] add some missing .PHONY
1 parent 8360b19 commit 17d6047

File tree

13 files changed

+77
-3
lines changed

13 files changed

+77
-3
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ languages = c dart dotnet elixir go java javascript perl php python ruby
44

55
help: ## Show this help
66
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
7+
.PHONY: help
78

89
acceptance: $(patsubst %,acceptance-%,$(languages)) ## Build acceptance test dir and compare results with reference for all supported languages
910
.PHONY: acceptance

c/Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,31 @@ endif
2525

2626
.DELETE_ON_ERROR:
2727

28-
default: .compared
29-
.PHONY: default
28+
.DEFAULT_GOAL = help
29+
30+
help: ## Show this help
31+
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
32+
.PHONY: help
3033

3134
acceptance: .compared ## Build acceptance test dir and compare results with reference
3235

3336
.compared: .built $(TOKENS) $(ASTS) $(PICKLES) $(ERRORS) $(SOURCES) .run
3437
touch $@
3538

3639
generate: ./include/rule_type.h src/parser.c ## Generate gherkin parser files
40+
.PHONY: generate
3741

3842
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
3943
rm -f ./include/rule_type.h src/parser.c
4044
.PHONY: clean-generate
4145

4246
copy-gherkin-languages: src/dialect.c ## Copy gherkin-languages.json and/or generate derived files
4347
echo "Nothing to do"
48+
.PHONY: copy-gherkin-languages
4449

4550
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
4651
rm -f src/dialect.c
52+
.PHONY: clean-gherkin-languages
4753

4854
.built: generate $(SRC_FILES) src/Makefile
4955
$(CC) --version

cpp/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,24 +33,31 @@ ERRORS = $(patsubst ../testdata/%,acceptance/testdata/%.errors.ndjson,$(BA
3333

3434
help: ## Show this help
3535
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
36+
.PHONY: help
3637

3738
generate: $(GRAMMAR_GENERATED) ## Generate gherkin parser files
39+
.PHONY: generate
3840

3941
generate-all: $(ALL_GENERATED)
42+
.PHONY: generate-all
4043

4144
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
4245
rm -f $(GRAMMAR_GENERATED)
46+
.PHONY: clean-generate
4347

4448
copy-gherkin-languages:
4549
echo "Nothing to do"
50+
.PHONY: copy-gherkin-languages
4651

4752
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
4853
echo "Nothing to do"
54+
.PHONY: clean-gherkin-languages
4955

5056
clean: clean-deps ## Remove all build artifacts and files generated by the acceptance tests
5157
rm -rf .built .configured
5258
rm -rf acceptance
5359
rm -rf build
60+
.PHONY: clean
5461

5562
.DELETE_ON_ERROR:
5663

dart/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,26 @@ GHERKIN_LANGUAGES_JSON = assets/gherkin-languages.json
66

77
help: ## Show this help
88
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
9+
.PHONY: help
910

1011
generate:
1112
echo "Nothing to do"
13+
.PHONY: generate
1214

1315
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
1416
rm -f $(GHERKIN_PARSER)
17+
.PHONY: clean-generate
1518

1619
copy-gherkin-languages: $(GHERKIN_LANGUAGES_JSON) ## Copy gherkin-languages.json and/or generate derived files
20+
.PHONY: copy-gherkin-languages
1721

1822
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
1923
rm -f $(GHERKIN_LANGUAGES_JSON)
24+
.PHONY: clean-gherkin-languages
2025

2126
clean:
2227
echo "Nothing to do"
28+
.PHONY: clean
2329

2430
acceptance:
2531
echo "Nothing to do"

dotnet/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,29 @@ ERRORS = $(patsubst ../testdata/%,acceptance/testdata/%.errors.ndjson,$(BA
2020

2121
help: ## Show this help
2222
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
23+
.PHONY: help
2324

2425
generate: $(GHERKIN_PARSER) ## Generate gherkin parser files
26+
.PHONY: generate
2527

2628
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
2729
rm -f $(GHERKIN_PARSER)
30+
.PHONY: clean-generate
2831

2932
copy-gherkin-languages: ## Copy gherkin-languages.json and/or generate derived files
3033
echo "Nothing to do"
34+
.PHONY: copy-gherkin-languages
3135

3236
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
3337
echo "Nothing to do"
38+
.PHONY: clean-gherkin-languages
3439

3540
clean: ## Remove all build artifacts and files generated by the acceptance tests
3641
rm -f .built
3742
rm -rf acceptance
3843
rm -rf */bin
3944
rm -rf */obj
45+
.PHONY: clean
4046

4147
.DELETE_ON_ERROR:
4248

elixir/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,27 @@ SOURCE_FILES = $(shell find . -name "*.ex" | grep -v $(GHERKIN_PARSER))
99

1010
help: ## Show this help
1111
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
12+
.PHONY: help
1213

1314
generate: $(GHERKIN_PARSER) ## Generate gherkin parser files
15+
.PHONY: generate
1416

1517
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
1618
rm -f $(GHERKIN_PARSER)
19+
.PHONY: clean-generate
1720

1821
copy-gherkin-languages: $(GHERKIN_LANGUAGES_JSON) ## Copy gherkin-languages.json and/or generate derived files
22+
.PHONY: copy-gherkin-languages
1923

2024
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
2125
rm -f $(GHERKIN_LANGUAGES_JSON)
26+
.PHONY: clean-gherkin-languages
2227

2328
clean: ## Remove all build artifacts and files generated by the acceptance tests
2429
rm -rf acceptance
2530
rm -rf _build
2631
rm -rf deps
32+
.PHONY: clean
2733

2834
.DELETE_ON_ERROR:
2935

go/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,27 @@ ERRORS = $(patsubst ../testdata/%,acceptance/testdata/%.errors.ndjson,$(BA
2121

2222
help: ## Show this help
2323
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
24+
.PHONY: help
2425

2526
generate: $(GHERKIN_PARSER) ## Generate gherkin parser files
27+
.PHONY: generate
2628

2729
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
2830
rm -f $(GHERKIN_PARSER)
31+
.PHONY: clean-generate
2932

3033
copy-gherkin-languages: $(GHERKIN_LANGUAGES_JSON) ## Copy gherkin-languages.json and/or generate derived files
34+
.PHONY: copy-gherkin-languages
3135

3236
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
3337
rm -f $(GHERKIN_LANGUAGES_JSON)
38+
.PHONY: clean-gherkin-languages
3439

3540
clean: ## Remove all build artifacts and files generated by the acceptance tests
3641
rm -rf .built
3742
rm -rf acceptance
3843
rm -rf bin
44+
.PHONY: clean
3945

4046
.DELETE_ON_ERROR:
4147

java/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,28 @@ ERRORS = $(patsubst ../testdata/%,acceptance/testdata/%.errors.ndjson,$(BA
2020

2121
help: ## Show this help
2222
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
23+
.PHONY: help
2324

2425
generate: $(GHERKIN_PARSER) ## Generate gherkin parser files
26+
.PHONY: generate
2527

2628
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
2729
rm -f $(GHERKIN_PARSER)
30+
.PHONY: clean-generate
2831

2932
copy-gherkin-languages:
3033
echo "Nothing to do"
34+
.PHONY: copy-gherkin-languages
3135

3236
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
3337
echo "Nothing to do"
38+
.PHONY: clean-gherkin-languages
3439

3540
clean: ## Remove all build artifacts and files generated by the acceptance tests
3641
rm -rf .built
3742
rm -rf acceptance
3843
rm -rf target
44+
.PHONY: clean
3945

4046
.DELETE_ON_ERROR:
4147

javascript/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,28 @@ ERRORS = $(patsubst ../testdata/%,acceptance/testdata/%.errors.ndjson,$(BA
1919

2020
help: ## Show this help
2121
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
22+
.PHONY: help
2223

2324
generate: $(GHERKIN_PARSER) ## Generate gherkin parser files
25+
.PHONY: generate
2426

2527
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
2628
rm -f $(GHERKIN_PARSER)
29+
.PHONY: clean-generate
2730

2831
copy-gherkin-languages: $(GHERKIN_LANGUAGES_JSON) ## Copy gherkin-languages.json and/or generate derived files
32+
.PHONY: copy-gherkin-languages
2933

3034
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
3135
rm -f $(GHERKIN_LANGUAGES_JSON)
36+
.PHONY: clean-gherkin-languages
3237

3338
clean: ## Remove all build artifacts and files generated by the acceptance tests
3439
rm -rf .built
3540
rm -rf acceptance
3641
rm -rf dist
3742
rm -rf node_modules
43+
.PHONY: clean
3844

3945
.DELETE_ON_ERROR:
4046

perl/Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,30 +29,36 @@ GHERKIN_GENERATE_TOKENS = PERL5LIB=${PERL5LIB} bin/gherkin-generate-tokens
2929

3030
help: ## Show this help
3131
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make <target>\n\nWhere <target> is one of:\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
32+
.PHONY: help
3233

3334
generate: $(GHERKIN_PARSER) ## Generate gherkin parser files
35+
.PHONY: generate
3436

3537
clean-generate: ## Remove generated Gherkin parser files ## Generate gherkin parser files
3638
rm -f $(GHERKIN_PARSER)
39+
.PHONY: clean-generate
3740

3841
copy-gherkin-languages:
3942
echo "Nothing to do"
43+
.PHONY: copy-gherkin-languages
4044

4145
clean-gherkin-languages: ## Remove gherkin-languages.json and any derived files
4246
echo "Nothing to do"
47+
.PHONY: clean-gherkin-languages
4348

4449
clean: ## Remove all build artifacts and files generated by the acceptance tests
4550
rm -rf $(ARTIFACT_DIR_VERSIONED)
4651
rm -rf $(ARTIFACT_DIR)
4752
rm -f $(ARTIFACT_TAR_GZ)
4853
rm -rf acceptance
4954
rm -rf perl5
55+
.PHONY: clean
5056

5157
.DELETE_ON_ERROR:
5258

53-
.PHONY: test
5459
test: perl5 ## Runs dzil test
5560
PATH=$$PATH:perl5/bin PERL5LIB=${PERL5LIB} dzil test
61+
.PHONY: test
5662

5763
acceptance: $(ARTIFACT_DIR) $(TOKENS) $(ASTS) $(PICKLES) $(ERRORS) $(SOURCES) ## Build acceptance test dir and compare results with reference
5864

0 commit comments

Comments
 (0)