aboutsummaryrefslogtreecommitdiff
path: root/write_makefile.sh
diff options
context:
space:
mode:
Diffstat (limited to 'write_makefile.sh')
-rwxr-xr-xwrite_makefile.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/write_makefile.sh b/write_makefile.sh
new file mode 100755
index 0000000..4011fe8
--- /dev/null
+++ b/write_makefile.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# This file is part of Haketilo
+#
+# Copyright (C) 2021, jahoti
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the CC0 1.0 Universal License as published by
+# the Creative Commons Corporation.
+#
+# This program 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
+# CC0 1.0 Universal License for more details.
+
+if [ ! -e record.conf ]; then
+ printf "Record of configuration 'record.conf' does not exist.\n" >&2
+ exit 1
+elif [ "$(head -n 1 record.conf | cut -c -9)x" != "srcdir = x" ]; then
+ printf "Record of configuration 'record.conf' is invalid.\n" >&2
+ exit 2
+fi
+
+SRCDIR="$(head -n 1 record.conf | cut -c 10-)"
+. "$SRCDIR"/shell_utils.sh
+VERSION=$(get_json_key version "$(cat "$SRCDIR"/manifest.json)")
+
+sed '/^# Configuration goes here$/r record.conf
+s|<<VPATH>>|'"$SRCDIR"'|
+s/<<VERSION>>/'$VERSION/ < "$SRCDIR"/Makefile.in > Makefile