86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
DIST_DIR := www
 | 
						|
 | 
						|
SCRIPT_SRC := $(wildcard src/scripts/*.js)
 | 
						|
 | 
						|
SCRIPT_DEST := $(SCRIPT_SRC:src/%=$(DIST_DIR)/%)
 | 
						|
 | 
						|
default: build
 | 
						|
 | 
						|
build: $(DIST_DIR)/index.html $(DIST_DIR)/styles/index.css $(SCRIPT_DEST)
 | 
						|
 | 
						|
watch:
 | 
						|
	@echo 'watching for change'
 | 
						|
	@echo 'press Ctrl+C to stop'
 | 
						|
	@while true; do \
 | 
						|
		$(MAKE) --silent build; \
 | 
						|
		sleep 0.5; \
 | 
						|
	done
 | 
						|
 | 
						|
# pug
 | 
						|
$(DIST_DIR)/index.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
 | 
						|
	@echo pug: $< ➜ $@
 | 
						|
	
 | 
						|
	@export ENV="dev"; \
 | 
						|
	node_modules/.bin/pug --pretty $< --out $(dir $@) -O src/config.json || touch $@
 | 
						|
 | 
						|
# pug (alpha)
 | 
						|
$(DIST_DIR)/index.alpha.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
 | 
						|
	@echo pug: $< ➜ $@
 | 
						|
 | 
						|
	@export ENV="alpha"; \
 | 
						|
	node_modules/.bin/pug --pretty $< --out $(dir $@) -E alpha.html -O src/config.json || touch $@
 | 
						|
 | 
						|
# pug (paris)
 | 
						|
$(DIST_DIR)/index.paris.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
 | 
						|
	@echo pug: $< ➜ $@
 | 
						|
 | 
						|
	@export ENV="paris"; \
 | 
						|
	node_modules/.bin/pug --pretty $< --out $(dir $@) -E paris.html -O src/config.json || touch $@
 | 
						|
 | 
						|
# pug (nantes)
 | 
						|
$(DIST_DIR)/index.nantes.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
 | 
						|
	@echo pug: $< ➜ $@
 | 
						|
 | 
						|
	@export ENV="nantes"; \
 | 
						|
	node_modules/.bin/pug --pretty $< --out $(dir $@) -E nantes.html -O src/config.json || touch $@
 | 
						|
 | 
						|
# sass
 | 
						|
$(DIST_DIR)/styles/index.css: src/styles/_index.scss $(wildcard src/*.scss src/*/*.scss src/*/*/*.scss src/*/*/*/*.scss)
 | 
						|
	@echo sass: $< ➜ $@
 | 
						|
	@node_modules/.bin/node-sass $< $@ --source-map true --source-map-contents || touch $@ 
 | 
						|
 | 
						|
# babel
 | 
						|
$(DIST_DIR)/%.js: src/%.js .babelrc
 | 
						|
	@echo babel: $< ➜ $@
 | 
						|
	@mkdir -p $(dir $@)
 | 
						|
	@node_modules/.bin/babel $< --out-file $@ --source-maps || touch $@
 | 
						|
 | 
						|
buildparis: build
 | 
						|
	$(MAKE) $(DIST_DIR)/index.paris.html
 | 
						|
 | 
						|
syncparis: buildparis
 | 
						|
	rsync -rv  --exclude '*.html' www/* test-paris@ssh-test-paris.happy-dev.fr:~/www/
 | 
						|
	rsync --no-R --no-implied-dirs www/index.paris.html test-paris@ssh-test-paris.happy-dev.fr:~/www/index.html
 | 
						|
	rsync -v www/.htaccess test-paris@ssh-test-paris.happy-dev.fr:~/www/
 | 
						|
 | 
						|
buildnantes: build
 | 
						|
	$(MAKE) $(DIST_DIR)/index.nantes.html
 | 
						|
 | 
						|
syncnantes: buildnantes
 | 
						|
	rsync -rv  --exclude '*.html' www/* test-nantes@ssh-test-nantes.happy-dev.fr:~/www/
 | 
						|
	rsync --no-R --no-implied-dirs www/index.nantes.html test-nantes@ssh-test-nantes.happy-dev.fr:~/www/index.html
 | 
						|
	rsync -v www/.htaccess test-nantes@ssh-test-nantes.happy-dev.fr:~/www/
 | 
						|
 | 
						|
buildalpha: build
 | 
						|
	$(MAKE) $(DIST_DIR)/index.alpha.html
 | 
						|
 | 
						|
syncalpha: buildalpha
 | 
						|
	rsync -rv  --exclude '*.html' www/* alpha@ssh-alpha.happy-dev.fr:~/www/
 | 
						|
	rsync --no-R --no-implied-dirs www/index.alpha.html alpha@ssh-alpha.happy-dev.fr:~/www/index.html
 | 
						|
	rsync -v www/.htaccess alpha@ssh-alpha.happy-dev.fr:~/www/
 | 
						|
 | 
						|
sync: syncnantes syncparis
 | 
						|
 | 
						|
syncprod: syncalpha
 | 
						|
 | 
						|
.PHONY: default build watch sync syncprod |