aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile94
1 files changed, 94 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b6fd71c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,94 @@
+
+#Binaries
+BLENDER = "D:\Programs\Blender\blender.exe"
+CONVERT = convert #Imagemagik
+MAGICK = magick
+MOONC = lua C:/Users/user/AppData/Roaming/luarocks/lib/luarocks/rocks-5.3/moonscript/0.5.0-1/bin/moonc
+LUASTR = tools/luastr.sh
+CP = cp
+CAT = cat
+CD = cd
+AMULET = amulet
+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
+TILED=tiled
+7Z=7z
+
+moon_files = $(wildcard src/*.moon)
+lua_files = $(wildcard src/*.lua)
+js_files = $(wildcard src/js/*.js)
+build_moon_files = $(moon_files:src/%.moon=build/%.lua)
+debug_moon_files = $(moon_files:src/%.moon=debug/%.lua.X)
+build_js_files = $(js_files:src/js/%.js=build/%.lua)
+build_lua_files = $(lua_files:src/%.lua=build/%.lua)
+
+#Levels from tiled
+level_src_files = $(wildcard data_src/levels/*.tmx)
+level_lua_files = $(level_src_files:data_src/levels/%.tmx=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)
+dev_files = $(build_moon_files) $(build_lua_files) $(debug_moon_files) $(sprites) $(level_lua_files) $(build_js_files) $(static_imgs)
+all_files = $(build_moon_files) $(build_lua_files) $(debug_moon_files) $(sprites) $(build_js_files) $(static_imgs)
+
+
+all: $(all_files) $(sprites)
+ $(AMULET) export -r -a -nozipdir -html build
+ $(7Z) e -obin -aoa Untitled-0.0.0-html.zip
+ $(CD) bin && $(HTTP_SERVER)
+
+dev: $(dev_files)
+ cd build && $(AMULET) 2> err.log || true
+ cat build/err.log | lua rewrite.lua
+
+$(build_js_files) : build/%.lua : src/js/%.js $(LUASTR)
+ $(LUASTR) $< > $@
+
+$(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 fantasy-24-1x.png $@
+
+#What's going on? I can't access the dependency
+$(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) $< $@
+
+#Dev graphics, only used for tiled and in development
+#See https://legacy.imagemagick.org/Usage/text/ for options that can
+# be put in the text file
+dev_graphic_srcs=$(wildcard data_src/dev_graphics/*.txt)
+dev_graphic_imgs=$(dev_graphic_srcs:%.txt=%.png)
+dev_graphics: $(dev_graphic_imgs)
+ echo "Done creating dev graphics"
+
+$(dev_graphic_imgs) : data_src/dev_graphics/%.png : data_src/dev_graphics/%.txt
+ $(CONVERT) -font "Liberation Mono" -pointsize 12 $(shell cat $<) $@
+
+clean:
+ rm debug/*.X
+ rm build/*.lua
+ rm *.zip
+
+sprites.png : sprites
+ amulet pack -png sprites.png -lua sprites.lua sprites/*.png
+