diff options
Diffstat (limited to 'write_makefile.sh')
-rwxr-xr-x | write_makefile.sh | 30 |
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 |