65 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
BUNDLE_NAME = bundle.lua
 | 
						|
HAXE_NAME = haxe.lua
 | 
						|
MINIFYD_NAME = bundle.min.lua
 | 
						|
BUILD_DIR = build
 | 
						|
HAXE_FLAGS =
 | 
						|
POLYFILLED_NAME = bundle.polyfill.lua
 | 
						|
POLYFILL_SRC = src/polyfill.lua
 | 
						|
CREAFTOS_PATH = craftos
 | 
						|
 | 
						|
HAXE_PATH := $(BUILD_DIR)/$(HAXE_NAME)
 | 
						|
MIN_PATH := $(BUILD_DIR)/$(MINIFYD_NAME)
 | 
						|
POLYFILL_PATH := $(BUILD_DIR)/$(POLYFILLED_NAME)
 | 
						|
 | 
						|
all: clean build
 | 
						|
 | 
						|
build: HAXE_FLAGS += --main kernel.Entrypoint -D analyzer-optimize
 | 
						|
build: $(MIN_PATH)
 | 
						|
 | 
						|
debug: HAXE_FLAGS += -D webconsole -D error_stack --debug 
 | 
						|
debug: build
 | 
						|
 | 
						|
$(HAXE_PATH): $(shell find src -name '*.hx')
 | 
						|
	haxe build.hxml $(HAXE_FLAGS)
 | 
						|
 | 
						|
$(POLYFILL_PATH): $(POLYFILL_SRC) $(HAXE_PATH)
 | 
						|
	cat $(POLYFILL_SRC) $(HAXE_PATH) > $@
 | 
						|
 | 
						|
$(MIN_PATH): $(POLYFILL_PATH)
 | 
						|
	node minify.js $(POLYFILL_PATH) $@
 | 
						|
 | 
						|
.PHONY: deps
 | 
						|
deps: deps-hx deps-node
 | 
						|
 | 
						|
.PHONY: deps-hx
 | 
						|
deps-hx:
 | 
						|
	haxelib install all --always
 | 
						|
 | 
						|
.PHONY: deps-node
 | 
						|
deps-node:
 | 
						|
	yarn install
 | 
						|
 | 
						|
.PHONY: clean
 | 
						|
clean:
 | 
						|
	rm -rf $(BUILD_DIR)
 | 
						|
	mkdir $(BUILD_DIR)
 | 
						|
 | 
						|
.PHONY: watch
 | 
						|
watch:
 | 
						|
	find src | entr make debug
 | 
						|
 | 
						|
.PHONY: emulator
 | 
						|
emulator:
 | 
						|
	$(CREAFTOS_PATH) --mount-ro /=$(shell pwd)/$(BUILD_DIR) 
 | 
						|
 | 
						|
.PHONY: webconsole
 | 
						|
webconsole:
 | 
						|
	node console.js
 | 
						|
 | 
						|
.PHONY: format
 | 
						|
format:
 | 
						|
	haxelib run formatter -s src
 | 
						|
 | 
						|
.PHONY: format-deps
 | 
						|
format-deps:
 | 
						|
	haxelib install formatter
 |