aboutsummaryrefslogtreecommitdiff
path: root/write_makefile.sh
blob: ab23cf2f3c86eab888680d02768761d0e67102fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/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.

set -e

if [ ! -e record.conf ]; then
    printf "Record of configuration 'record.conf' does not exist.\n" >&2
    exit 1
elif ! grep '^srcdir = ' record.conf >/dev/null 2>&1; then
    printf "Record of configuration 'record.conf' is invalid.\n" >&2
    exit 1
fi

SRCDIR="$(grep '^srcdir = ' record.conf)"
SRCDIR="${SRCDIR#'srcdir = '}"

DEFAULT_TARGET="$(grep '^default_target = ' record.conf)"
DEFAULT_TARGET="${DEFAULT_TARGET#'default_target = '}"

VERSION=$(cat "$SRCDIR/version" | sed 's/^"\(.*\)"$/\1/; s/-beta/b/')

sed '/^# Configuration gets included here by write_makefile\.sh$/r record.conf
s|<<VPATH>>|'"$SRCDIR"'|
s/<<VERSION>>/'"$VERSION"/ < "$SRCDIR"/Makefile.in > Makefile