radarrplexorganizrnginxsonarrdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							95 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							95 lines
						
					
					
						
							2.9 KiB
						
					
					
				
								PSYSH_SRC = bin src box.json.dist composer.json build/stub
							 | 
						|
								PSYSH_SRC_FILES = $(shell find src -type f -name "*.php")
							 | 
						|
								VERSION = $(shell git describe --tag --always --dirty=-dev)
							 | 
						|
								
							 | 
						|
								COMPOSER_OPTS = --no-interaction --no-progress --verbose
							 | 
						|
								COMPOSER_REQUIRE_OPTS = $(COMPOSER_OPTS) --no-update
							 | 
						|
								COMPOSER_UPDATE_OPTS = $(COMPOSER_OPTS) --prefer-stable --no-dev --classmap-authoritative --prefer-dist
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								# Commands
							 | 
						|
								
							 | 
						|
								.PHONY: help clean build dist
							 | 
						|
								.DEFAULT_GOAL := help
							 | 
						|
								
							 | 
						|
								help:
							 | 
						|
									@echo "\033[33mUsage:\033[0m\n  make TARGET\n\n\033[33mTargets:\033[0m"
							 | 
						|
									@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[32m%-7s\033[0m %s\n", $$1, $$2}'
							 | 
						|
								
							 | 
						|
								clean: ## Clean all created artifacts
							 | 
						|
									rm -rf build/*
							 | 
						|
									rm -rf dist/*
							 | 
						|
									rm -rf vendor-bin/*/vendor/
							 | 
						|
								
							 | 
						|
								build: ## Compile PHARs
							 | 
						|
								build: build/psysh/psysh build/psysh-compat/psysh build/psysh-php54/psysh build/psysh-php54-compat/psysh
							 | 
						|
								
							 | 
						|
								dist: ## Build tarballs for distribution
							 | 
						|
								dist: dist/psysh-$(VERSION).tar.gz dist/psysh-$(VERSION)-compat.tar.gz dist/psysh-$(VERSION)-php54.tar.gz dist/psysh-$(VERSION)-php54-compat.tar.gz
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								# All the composer stuffs
							 | 
						|
								
							 | 
						|
								composer.lock: composer.json
							 | 
						|
									composer install
							 | 
						|
									touch $@
							 | 
						|
								
							 | 
						|
								vendor/autoload.php: composer.lock
							 | 
						|
									composer install
							 | 
						|
									touch $@
							 | 
						|
								
							 | 
						|
								vendor/bin/box: vendor/autoload.php
							 | 
						|
									composer bin box install
							 | 
						|
									touch $@
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								# Lots of PHARs
							 | 
						|
								
							 | 
						|
								build/stub: bin/build-stub bin/psysh LICENSE
							 | 
						|
									bin/build-stub
							 | 
						|
								
							 | 
						|
								build/psysh: $(PSYSH_SRC) $(PSYSH_SRC_FILES)
							 | 
						|
									rm -rf $@ || true
							 | 
						|
									mkdir $@
							 | 
						|
									cp -R $(PSYSH_SRC) $@/
							 | 
						|
									composer config --working-dir $@ platform.php 7.0
							 | 
						|
									composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) php:'>=7.0.0'
							 | 
						|
									composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS)
							 | 
						|
								
							 | 
						|
								build/psysh-compat: $(PSYSH_SRC) $(PSYSH_SRC_FILES)
							 | 
						|
									rm -rf $@ || true
							 | 
						|
									mkdir $@
							 | 
						|
									cp -R $(PSYSH_SRC) $@/
							 | 
						|
									composer config --working-dir $@ platform.php 7.0
							 | 
						|
									composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) php:'>=7.0.0'
							 | 
						|
									composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) symfony/polyfill-iconv symfony/polyfill-mbstring hoa/console
							 | 
						|
									composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS)
							 | 
						|
								
							 | 
						|
								build/psysh-php54: $(PSYSH_SRC) $(PSYSH_SRC_FILES)
							 | 
						|
									rm -rf $@ || true
							 | 
						|
									mkdir $@
							 | 
						|
									cp -R $(PSYSH_SRC) $@/
							 | 
						|
									composer config --working-dir $@ platform.php 5.4
							 | 
						|
									composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS)
							 | 
						|
								
							 | 
						|
								build/psysh-php54-compat: $(PSYSH_SRC) $(PSYSH_SRC_FILES)
							 | 
						|
									rm -rf $@ || true
							 | 
						|
									mkdir $@
							 | 
						|
									cp -R $(PSYSH_SRC) $@/
							 | 
						|
									composer config --working-dir $@ platform.php 5.4
							 | 
						|
									composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) symfony/polyfill-iconv symfony/polyfill-mbstring hoa/console:^2.15
							 | 
						|
									composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS)
							 | 
						|
								
							 | 
						|
								build/%/psysh: vendor/bin/box build/%
							 | 
						|
									vendor/bin/box compile --working-dir $(dir $@)
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								# Dist packages
							 | 
						|
								
							 | 
						|
								dist/psysh-$(VERSION).tar.gz: build/psysh/psysh
							 | 
						|
									@mkdir -p $(@D)
							 | 
						|
									tar -C $(dir $<) -czf $@ $(notdir $<)
							 | 
						|
								
							 | 
						|
								dist/psysh-$(VERSION)-%.tar.gz: build/psysh-%/psysh
							 | 
						|
									@mkdir -p $(@D)
							 | 
						|
									tar -C $(dir $<) -czf $@ $(notdir $<)
							 | 
						|
								
							 |