|
1 | | -V=5.6 |
2 | 1 | VERSION=1.0.0 |
3 | | -IMAGE=jestefane/php-$(V)-cli:$(VERSION) |
4 | | - |
5 | 2 | VERSIONS=5.5 5.6 7.0 7.1 |
| 3 | +GENERATED_DIR=generated |
| 4 | +BUILDS_DIR=$(GENERATED_DIR)/builds |
| 5 | +BINS_DIR=$(GENERATED_DIR)/bins |
| 6 | +BIN_DIR=/usr/local/bin |
6 | 7 |
|
7 | | -build: |
8 | | - @echo Building $(IMAGE) |
9 | | - docker build -t $(IMAGE) $(V) |
10 | | - |
11 | | -rm_image: |
12 | | - docker rmi $(IMAGE) || true |
| 8 | +builds: templates |
| 9 | + @{ \ |
| 10 | + for version in $(VERSIONS); \ |
| 11 | + do \ |
| 12 | + cli=jestefane/php-dev:$$version-cli-$(VERSION); \ |
| 13 | + echo Building $$cli; \ |
| 14 | + docker build -t $$cli $(BUILDS_DIR)/$$version; \ |
| 15 | + done; \ |
| 16 | + } |
13 | 17 |
|
14 | | -rebuild: rm_image build |
| 18 | +rm_images: |
| 19 | + @{ \ |
| 20 | + for version in $(VERSIONS); \ |
| 21 | + do \ |
| 22 | + cli=jestefane/php-dev:$$version-cli-$(VERSION); \ |
| 23 | + docker rmi $$cli || true; \ |
| 24 | + done; \ |
| 25 | + } |
15 | 26 |
|
| 27 | +rebuild: rm_images builds |
16 | 28 |
|
17 | | -templates: |
18 | | - { \ |
| 29 | +templates: rm_templates |
| 30 | + @{ \ |
19 | 31 | for version in $(VERSIONS); \ |
20 | 32 | do \ |
| 33 | + echo Building for PHP $$version; \ |
21 | 34 | regex=s!%%PHP_VERSION%%!$$version!g\;s!%%IMAGE_VERSION%%!$(VERSION)!g; \ |
22 | | - mkdir -p $$version; \ |
23 | | - cp php.ini $$version; \ |
24 | | - sed $$regex Dockerfile.template > $$version/Dockerfile; \ |
25 | | - sed $$regex composer.template > bins/composer-$$version; \ |
| 35 | + version_dir=$(BUILDS_DIR)/$$version; \ |
| 36 | + mkdir -p $$version_dir; \ |
| 37 | + sed $$regex template/Dockerfile.template > $$version_dir/Dockerfile; \ |
| 38 | + echo ... Dockerfile; \ |
| 39 | + cp template/php.ini $$version_dir; \ |
| 40 | + mkdir -p $(BINS_DIR); \ |
| 41 | + sed $$regex template/php-cli.template > $(BINS_DIR)/php-cli-$$version; \ |
| 42 | + echo ... php-cli bin; \ |
| 43 | + sed $$regex template/composer.template > $(BINS_DIR)/composer-$$version; \ |
| 44 | + echo ... composer bin; \ |
26 | 45 | done; \ |
27 | 46 | } |
28 | 47 |
|
| 48 | +rm_templates: |
| 49 | + @echo Deleting generated templates |
| 50 | + @rm -Rf $(GENERATED_DIR) |
| 51 | + |
| 52 | +cp_bins: |
| 53 | + @chmod +x $(BINS_DIR)/* |
| 54 | + @cp $(BINS_DIR)/* $(BIN_DIR) |
| 55 | + @echo Copied bins into $(BIN_DIR) |
0 commit comments