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.
		
		
		
		
		
			
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
| ROOT=$(shell pwd)
 | |
| 
 | |
| SOURCE_ASSETS_IMG_DIR=frontend/assets/img
 | |
| SOURCE_ASSETS_IMG_FILES=$(wildcard frontend/assets/img/*)
 | |
| TARGET_ASSETS_IMG_DIR=frontend/compiled/img
 | |
| 
 | |
| TARGET_CSS_DIR=frontend/compiled/css
 | |
| TARGET_CSS_FILE=$(TARGET_CSS_DIR)/style.css
 | |
| 
 | |
| TARGET_JS_DIR=$(BACKEND_ASSETS_DIR)/js
 | |
| TARGET_JS_FILE=$(TARGET_JS_DIR)/app.js
 | |
| 
 | |
| SOURCE_ELM_FILES=$(wildcard frontend/src/*.elm)
 | |
| SOURCE_SASS_FILE=frontend/assets/sass/style.scss
 | |
| 
 | |
| INDEX_FILE=backend/resources/public/index.html
 | |
| 
 | |
| .PHONY: compile
 | |
| compile: $(TARGET_JS_FILE) $(TARGET_CSS_FILE) $(TARGET_ASSETS_IMG_DIR)
 | |
| 
 | |
| $(TARGET_JS_FILE): $(SOURCE_ELM_FILES)
 | |
| 	mkdir -p $(TARGET_JS_DIR)
 | |
| 	cd frontend && elm make src/Main.elm --output $(ROOT)/$(TARGET_JS_FILE) --optimize
 | |
| 
 | |
| $(TARGET_CSS_FILE): $(SOURCE_SASS_FILE)
 | |
| 	mkdir -p $(TARGET_CSS_DIR)
 | |
| 	sassc --style compressed $(SOURCE_SASS_FILE) > $(TARGET_CSS_FILE)
 | |
| 
 | |
| $(TARGET_ASSETS_IMG_DIR): $(SOURCE_ASSETS_IMG_FILES)
 | |
| 	mkdir -p $(TARGET_ASSETS_IMG_DIR)
 | |
| 	cp $(SOURCE_ASSETS_IMG_DIR)/* $(TARGET_ASSETS_IMG_DIR)
 | |
| 
 | |
| .PHONY: compile-debug
 | |
| compile-debug:
 | |
| 	cd frontend && elm make src/Main.elm --output $(ROOT)/$(APP_JS) --debug
 | |
| 	sassc $(SOURCE_SASS_FILE) > $(TARGET_CSS_FILE)
 | |
| 
 | |
| .PHONY: elm-live
 | |
| elm-live:
 | |
| 	cd frontend && \
 | |
| 	elm-live src/Main.elm \
 | |
| 		--pushstate \
 | |
|  		--start-page=../$(INDEX_FILE) \
 | |
|  		-- \
 | |
|  		--debug \
 | |
|  		--output=compiled/js/app.js
 | |
| 
 | |
| .PHONY: assets-live
 | |
| assets-live:
 | |
| 	while sleep 1; do make -s $(TARGET_CSS_FILE); make -s $(TARGET_ASSETS_IMG_DIR); done
 |