|
|
|
|
|
|
|
|
CORE_SOLUTION = ./isometric-park-fna/isometric-park-fna-core.csproj #./isometric-park-fna-core.sln
|
|
|
FRAMEWORK_SOLUTION = ./isometric-park-fna.sln
|
|
|
|
|
|
DEFAULT_RUN = framework-debug
|
|
|
|
|
|
#BUILD
|
|
|
|
|
|
# While I frequently build and run using make, the convention is that running
|
|
|
# 'make' by itself merely builds the software:
|
|
|
default: $(DEFAULT_RUN)
|
|
|
|
|
|
core-debug: validate ink clean-package portraits
|
|
|
dotnet build ${CORE_SOLUTION} -f netcoreapp3.1
|
|
|
|
|
|
core-release: validate ink clean-package portraits
|
|
|
dotnet build ${CORE_SOLUTION} -f netcoreapp3.1 -c Release
|
|
|
|
|
|
framework-release: validate ink portraits
|
|
|
msbuild -restore:True ${FRAMEWORK_SOLUTION} -p:Configuration=Release
|
|
|
|
|
|
framework-debug: validate ink clean-obj portraits
|
|
|
msbuild -restore:True ${FRAMEWORK_SOLUTION} -p:Configuration=Debug
|
|
|
|
|
|
|
|
|
#PIPELINE
|
|
|
|
|
|
isometric-park-fna/Content/Portraits/converted/%.png: isometric-park-fna/Content/Portraits/%.jpg
|
|
|
convert $< -resize 500x500\> -dither FloydSteinberg -colors 8 -colorspace gray $@
|
|
|
|
|
|
isometric-park-fna/Content/portraits.png: $(shell find -ipath "*isometric-park-fna/Content/Portraits/*.jpg" | sed "s/.jpg/.png/" | sed "s:Portraits/:Portraits/converted/:" |sort)
|
|
|
# isometric-park-fna/Content/Portraits/converted/%.png
|
|
|
montage $^ -background transparent -geometry 300x400 -gravity north PNG8:isometric-park-fna/Content/portraits.png
|
|
|
|
|
|
portraits: isometric-park-fna/Content/portraits.png
|
|
|
|
|
|
isometric-park-fna/Content/%.json: $(shell find -ipath "*isometric-park-fna/Content/*.ink")
|
|
|
inklecate -o $@ $<
|
|
|
|
|
|
ink: isometric-park-fna/Content/dialog.json
|
|
|
|
|
|
|
|
|
#RUN
|
|
|
|
|
|
run-core-debug:
|
|
|
cd isometric-park-fna/bin/Debug/netcoreapp3.1; LD_LIBRARY_PATH="../../../../fnalibs/lib64" DYLD_LIBRARY_PATH="../../../../fnalibs/osx" dotnet ./isometric-park-fna.dll
|
|
|
|
|
|
run-core-release:
|
|
|
cd isometric-park-fna/bin/Release/netcoreapp3.1; LD_LIBRARY_PATH="../../../../fnalibs/lib64" DYLD_LIBRARY_PATH="../../../../fnalibs/osx" dotnet ./isometric-park-fna.dll
|
|
|
|
|
|
run-core-release-xvfb:
|
|
|
cd isometric-park-fna/bin/Release/netcoreapp3.1; LD_LIBRARY_PATH="../../../../fnalibs/lib64" DYLD_LIBRARY_PATH="../../../../fnalibs/osx" xvfb-run -a -s "-screen 0 1400x900x24 +extension RANDR +extension GLX +extension RENDER" -- dotnet ./isometric-park-fna.dll
|
|
|
|
|
|
run-framework-release:
|
|
|
cd isometric-park-fna/bin/Release/; LD_LIBRARY_PATH="../../../fnalibs/lib64" DYLD_LIBRARY_PATH="../../../fnalibs/osx" mono isometric-park-fna.exe
|
|
|
|
|
|
run-framework-debug:
|
|
|
cd isometric-park-fna/bin/Debug/; LD_LIBRARY_PATH="../../../fnalibs/lib64" DYLD_LIBRARY_PATH="../../../fnalibs/osx" mono --debug isometric-park-fna.exe
|
|
|
|
|
|
# lint:
|
|
|
# yamllint -d relaxed isometric-park-fna/Content/news_items.yaml
|
|
|
count:
|
|
|
tokei -e isometric-park-fna/packages -e isometric-park-fna/bin -e isometric-park-fna/build_log.txt -e isometric-park-fna/obj scripts/ isometric-park-fna/
|
|
|
|
|
|
clean-obj:
|
|
|
#If this folder doesn't exist and we get an error, that's okay
|
|
|
-rm -r isometric-park-fna/obj/
|
|
|
|
|
|
clean-package:
|
|
|
#If this folder doesn't exist, that's okay
|
|
|
-rm -r isometric-park-fna/packages/* packages/*
|
|
|
|
|
|
|
|
|
# VALIDATE
|
|
|
|
|
|
validate-yaml:
|
|
|
csi scripts/LoadYaml.csx
|
|
|
|
|
|
validate-ink:
|
|
|
csi scripts/LoadInk.csx
|
|
|
|
|
|
|
|
|
validate: validate-yaml validate-ink
|
|
|
|
|
|
#CONVENIENCE
|
|
|
|
|
|
# Just using framework for releases since I know it works for now:
|
|
|
release: framework-release
|
|
|
|
|
|
run: $(DEFAULT_RUN) run-$(DEFAULT_RUN)
|
|
|
|