#Binaries BLENDER?="$(shell where blender | head -n 1)" MOONC?="$(shell where moonc | head -n 1)" CONVERT?="$(shell where magick | head -n 1)" CP = cp CAT = cat CD = cd AMULET?="$(shell where amulet | head -n 1)" LUA = lua MV = mv UNZIP = unzip -o #overwrite without asking HTTP_SERVER = python -m http.server #STL OPEN_BROWSER = rundll32 url.dll,FileProtocolHandler http://localhost:8000 ECHO=echo moon_files = $(wildcard src/*.moon) lua_files = $(wildcard src/*.lua) build_moon_files = $(moon_files:src/%.moon=build/%.lua) debug_moon_files = $(moon_files:src/%.moon=debug/%.lua.X) build_lua_files = $(lua_files:src/%.lua=build/%.lua) #Sprites from models model_files = $(wildcard data_src/models/*.blend) raw_imgs = $(model_files:data_src/models/%.blend=data_src/img_raw/%_raw.png) static_files = $(wildcard data_src/*.jpg) $(wildcard data_src/*.png) static_imgs = $(static_files:data_src/%=build/data/%) sprites = $(raw_imgs:data_src/img_raw/%_raw.png=build/data/%.png) all_files = $(build_moon_files) $(build_lua_files) $(debug_moon_files) $(sprites) all ggj20-1.0.0-html.zip : $(build_lua_files) $(build_moon_files) $(sprites) $(static_imgs) $(AMULET) export -r -windows -mac -linux -html build serve: ggj20-1.0.0-html.zip $(UNZIP) $^ $(OPEN_BROWSER) $(CD) ggj20 && $(HTTP_SERVER) dev: $(build_lua_files) $(build_moon_files) $(debug_moon_files) $(sprites) $(static_imgs) $(CD) build && $(AMULET) 2> err.log || true $(CAT) build/err.log | $(LUA) rewrite.lua $(build_moon_files) : build/%.lua : src/%.moon $(MOONC) -o $@ $< $(debug_moon_files) : debug/%.lua.X : src/%.moon $(MOONC) -X $< > $@ $(build_lua_files) : build/%.lua : src/%.lua $(CP) $< $@ #Convert images to our reduce 64 colors $(sprites) : build/data/%.png : data_src/img_raw/%_raw.png $(CONVERT) $^ +dither -remap aap-64-1x.png $@ $(raw_imgs) : data_src/img_raw/%_raw.png : data_src/models/%.blend $(BLENDER) -b $^ -o //../../$(@:%_raw.png=%_raw_) -f 1 $(MV) $(@:%_raw.png=%_raw_0001.png) $@ $(static_imgs) : build/data/% : data_src/% $(CP) $^ $@ clean: $(RM) -f debug/* $(RM) -f build/*.lua $(RM) -f build/data/*.png $(RM) -f data_src/img_raw/*.png $(RM) -f build/out.log $(RM) -f build/err.log $(RM) -f *.zip $(RM) -rf ggj20