You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
port = 8081
 | 
						|
output = output
 | 
						|
 | 
						|
# First goal is the default with `make`.
 | 
						|
 | 
						|
# List make scripts.
 | 
						|
list:
 | 
						|
	grep "^[^[:space:]]*:" Makefile --before-context=1 --group-separator=""
 | 
						|
 | 
						|
## Using make dependencies is duplicating behaviour but reads better.
 | 
						|
# /bin/php php/update-listing.php
 | 
						|
# Refresh listing and generate HTML.
 | 
						|
all: fetch html
 | 
						|
 | 
						|
# Fetch room listing.
 | 
						|
fetch:
 | 
						|
	/bin/php php/fetch-servers.php
 | 
						|
 | 
						|
# Generate HTML from data.
 | 
						|
html:
 | 
						|
	/bin/php php/generate-html.php
 | 
						|
 | 
						|
# Last item run in foreground to receive interrupts.
 | 
						|
 | 
						|
# Serve a local copy which responds to file changes.
 | 
						|
dev: open
 | 
						|
	make server &
 | 
						|
	make watchdog
 | 
						|
 | 
						|
# Serve a local copy on LAN which responds to file changes.
 | 
						|
lan-dev: open
 | 
						|
	ip addr | fgrep -e ' 192.' -e ' 10.'
 | 
						|
	make lan-server &
 | 
						|
	make watchdog
 | 
						|
 | 
						|
# Serve a local copy.
 | 
						|
server:
 | 
						|
	/bin/php -S localhost:$(port) -t $(output)
 | 
						|
 | 
						|
# Serve a local copy on all interfaces.
 | 
						|
lan-server:
 | 
						|
	/bin/php -S 0.0.0.0:$(port) -t $(output)
 | 
						|
 | 
						|
# Open locally served page in browser.
 | 
						|
open:
 | 
						|
	xdg-open http://localhost:$(port) >/dev/null 2>/dev/null & disown
 | 
						|
 | 
						|
# Update HTML on file change. Doesn't check for new files.
 | 
						|
watchdog:
 | 
						|
	find . | entr -n -s "make html"
 | 
						|
 | 
						|
# Remove artefacts
 | 
						|
clean:
 | 
						|
	rm -r cache
 | 
						|
	rm -r output/*.html
 | 
						|
 | 
						|
# Build everything from scratch and test functionality.
 | 
						|
test: clean all open server
 | 
						|
 | 
						|
# Build everything from scratch and test functionality on LAN.
 | 
						|
test-lan: clean all open lan-server
 | 
						|
 | 
						|
# -- Aliases --
 | 
						|
serve: server
 | 
						|
 | 
						|
lan-serve: lan-server
 | 
						|
 | 
						|
data: fetch
 | 
						|
 | 
						|
watch: watchdog
 | 
						|
 |