embox
/
confset
34 строки · 1.3 Кб
1#!/bin/bash
2
3path=$1
4#path= ${path:9} # only if arg would include "confload-"
5mkdir -p work/$path
6mkdir -p work/$path/conf
7mkdir -p work/$path/build
8
9if [ ! -L conf ] && [ -d conf ]; then
10read -p "-'make confload' mode build configuration is present; press 'y' to overwrite this: " response
11if [ -z $response ]; then exit; fi
12if [ $response != "y" ] && [ $response != "Y" ]; then exit; fi
13# next step, folders are removed
14fi
15
16# (also) ensure that an existing link is removed, otherwise make confload would overwrite the
17# previously activated build configuration
18rm -rf conf # next make invocation does create a 'conf' folder
19rm -rf build # a link from previous confset must be removed before next command (otherwise build
20# subfolders in work/$path/build would be removed)
21make confload-$path
22
23if [ -z "$(ls -A work/$path/conf)" ] ; then
24mv conf/ work/$path
25echo "- configuration was copied from template; build/ & conf/ are unique symlinks"
26else
27echo "- existing configuration still used; does not (need to) clean build artifacts"
28echo " (to renew it from template, do 'make confclean' and repeat)"
29fi
30rm -rf conf
31ln -s work/$path/conf conf
32
33touch conf/mods.conf # ensure that CONFIGFILE reads mods.conf (creates files in mk/.cache/)
34ln -s work/$path/build build
35
36