summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorThomas Hintz <t@thintz.com>2020-02-05 18:04:50 -0800
committerThomas Hintz <t@thintz.com>2020-02-05 18:04:50 -0800
commitde7cf70319909161162cfe68a40265577450fbd0 (patch)
treeac29cd674c2f56c053c3c388332c8faaa3c28737 /Makefile
downloadfarm-de7cf70319909161162cfe68a40265577450fbd0.tar.gz
Initial public release.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile54
1 files changed, 54 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..d1960cc
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,54 @@
+# Copyright 2020 Thomas Hintz
+#
+# This file is part of the Alpha Centauri Farming project.
+#
+# The Alpha Centauri Farming project is free software: you can
+# redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software
+# Foundation, either version 3 of the License, or (at your option)
+# any later version.
+#
+# The Alpha Centauri Farming project is distributed in the hope that
+# it will be useful, but WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with the Alpha Centauri Farming project. If not, see
+# <https://www.gnu.org/licenses/>.
+
+.PHONY: clean install interactive
+
+assets := assets/game/acf/
+
+dev:
+ npx webpack --config webpack.dev.js --env.assets ./$(assets)
+
+rundev:
+ make interactive
+
+prod: src/server/farm
+ npx webpack --config webpack.prod.js --env.assets ./$(assets)
+
+install:
+ npm init -y
+ npm install
+
+interactive:
+ cd dist/ && csi -include-path $(assets) -s farm.scm
+
+src/server/farm: src/server/farm.scm
+ cd src/server/ && csc -include-path ../../$(assets) -O3 farm.scm
+
+farm:
+ make src/server/farm
+
+runprod:
+ cd dist/ && chmod +x farm && ./farm
+
+upload:
+ rsync -rtvz dist/ $(SERVER):~/farm
+
+clean:
+ rm -f *~ res/js/app.js
+