accept arrays as named parameters for {Uns,S}erializer and
[awesomized/ext-ion] / docs / Makefile
1 DOCKER ?=
2 PHP ?= $(DOCKER) php
3 COMPOSER ?= $(DOCKER) composer
4 TAG := $(shell (git describe --tags --match=v[0-9]* 2>/dev/null || git tag --sort=authordate | egrep ^v[0-9] | tail -n1) | cut -d. -f-2)
5
6 # ---
7
8 SPECIAL_SRC := src/ion/\\\:\\\ Security.md src/ion/\\\:\\\ Contributing.md src/ion.md src/mdref.json
9
10 .PHONY: all
11 all: latest
12
13 latest: $(TAG)
14 -unlink $@ 2>/dev/null
15 ln -s "$(TAG)/" $@
16 touch $@
17
18 $(TAG): markdown | vendor/bin/ref2html
19 mkdir -p $@
20 -ln -s . ext-ion
21 $(PHP) $| ext-ion/$@ src
22 unlink ext-ion
23 touch $@
24
25 .PHONY: markdown
26 markdown: src/ion.stub.php $(SPECIAL_SRC) | vendor/bin/stub2ref
27 $(PHP) $| ion $< src
28
29 src src/ion:
30 -mkdir -p $@
31 src/mdref.json: mdref.json
32 -test -e $@ || ln $^ $@
33 src/ion.stub.php: ../ion.stub.php | src
34 -test -e $@ || ln $^ $@
35 src/ion.md: ../README.md | src
36 -test -e $@ || ln $^ $@
37 src/ion/\\\:\\\ Security.md: ../SECURITY.md | src/ion
38 -test -e $@ || ln $^ $@
39 src/ion/\\\:\\\ Contributing.md: ../CONTRIBUTING.md | src/ion
40 -test -e $@ || ln $^ $@
41
42 vendor/%:
43 COMPOSER= $(COMPOSER) require m6w6/mdref:dev-master
44
45 .PHONY: docker
46 docker:
47 docker-compose -f docker/compose.yml build php
48 docker-compose -f docker/compose.yml build composer
49 $(MAKE) DOCKER="docker-compose -f docker/compose.yml run --rm"
50
51 .PHONY: clean
52 clean:
53 -rm -rf latest src vendor composer* .composer
54
55