summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh23
1 files changed, 14 insertions, 9 deletions
diff --git a/build.sh b/build.sh
index 5bdd541..b5cb78e 100755
--- a/build.sh
+++ b/build.sh
@@ -93,15 +93,20 @@ for m in $modules; do
esac
done
-case " $modules " in
-*" assets "*|*" model "*) addobj konpack ;;
-esac
-case " $modules " in
-*" ui "*) addobj konfont ;;
-esac
-case " $modules " in
-*" debug "*) addobj konfont; addobj konassets; addobj konpack ;;
-esac
+need()
+{
+ case " $DEFS " in
+ *" -DKON_MODULE_$(echo "$1" | tr 'a-z' 'A-Z') "*) ;;
+ *) DEFS="$DEFS -DKON_MODULE_$(echo "$1" | tr 'a-z' 'A-Z')" ;;
+ esac
+ addobj "kon$1"
+}
+
+# modules that use other modules
+case " $modules " in *" debug "*) need font; need assets ;; esac
+case " $modules " in *" ui "*) need font ;; esac
+case " $modules " in *" model "*) need assets ;; esac
+case " $DEFS " in *" -DKON_MODULE_ASSETS "*) need pack ;; esac
case " $modules " in
*" debug "*) [ $developer = 1 ] || echo "note: debug module does nothing without -d or -D" ;;