62 lines
1015 B
Bash
62 lines
1015 B
Bash
|
|
function script.build {
|
|
typeset -l S
|
|
|
|
if [[ -n "${sources[$target]}" ]]; then
|
|
S="${sources[$target]}"
|
|
elif [[ -e "${target}.in" ]]; then
|
|
S="${target}.in"
|
|
fi
|
|
|
|
write -n "${target}:"
|
|
|
|
if [[ -n "${S}" ]]; then
|
|
write " $S $(dirdep $target)"
|
|
write "\t@echo '$(SED "${target}")'"
|
|
write -n "\t${Q}sed -e '"
|
|
for variable value in ${prefixes[@]} ${variables[@]}; do
|
|
write -n "s&@${variable}@&\$(${variable})&;"
|
|
done
|
|
write "' $S > '${target}'"
|
|
write "\t${Q}chmod +x '${target}'"
|
|
fi
|
|
|
|
write "\n"
|
|
}
|
|
|
|
function script.install {
|
|
binary.install "$@"
|
|
}
|
|
|
|
function script.uninstall {
|
|
binary.uninstall "$@"
|
|
}
|
|
|
|
function script.clean {
|
|
typeset -l S
|
|
|
|
if [[ -n "${sources[$target]}" ]]; then
|
|
S="${sources[$target]}"
|
|
else
|
|
S="${target}.in"
|
|
fi
|
|
|
|
write "${target}.clean:"
|
|
|
|
if [[ -e "${S%% *}" ]]; then
|
|
write "\t@echo '$(RM ${target})'"
|
|
write "\t${Q}rm -f ${target}"
|
|
fi
|
|
|
|
write
|
|
}
|
|
|
|
function script.distfiles {
|
|
if [[ -e "${target}.in" ]]; then
|
|
echo "${target}.in"
|
|
else
|
|
echo "${target}"
|
|
fi
|
|
}
|
|
|