Propriedades e variáveis
Tanto propriedades como variáveis podem ser definidas no script FoxMakefile ou podem ser definidas no comando foxmake com as opções "-prop" e "-var".
O que diferencia propriedades de variáveis é que as propriedades são verificadas. Não é possível criar suas próprias propriedades. Você só pode definir propriedades que o foxmake reconhece. Já as variáveis podem ser definidas a seu gosto e ter seu valor utilizado de forma semelhante as propriedades.
As variáveis são definidas, iniciando com $ e, tanto variáveis, quanto propriedades, podem ser acessadas no script com $(nomedavariaveloupropriedade). Veja os exemplos abaixo:
As propriedades são executadas (interpretadas e carregadas) em tempo de interpretação. Assim como as variáveis definidas fora do escopo de alguma definição de task ou procedure.
O foxmake carrega algumas variáveis predefinidas antes do script ser interpretado. São elas:
- working_dir: Assume o valor do diretório de trabalho.
- script_file: Assume o valor do caminho do script carregado.
- os: Assume um valor correspondente ao sistema operacional.
Isto é, se é windows ou não.
A variável "os" pode assumir dois valores: "windows" ou "nowindows".
src.dir=src
$version=1.0
$sysop=linux
$arch=x86
build.dir=build/meuprojeto-$(version)-$(sysop)-$(arch)
echo $(build.dir)
echo $(src.dir)
echo $(sysop)-$(arch)
O script acima define valor para a propriedade src e define três variáveis: $version, $sysop e $arch, que são acessadas na propriedade "build.dir". Logo após, são impressos na saída padrão os valores das propriedades "build.dir" e "src.dir" e, então, impressa a concatenação das variáveis $sysop e $arch, imprimindo: linux-x86.
Agora veja outro exemplo utilizando variáveis predefinidas:
echo $working_dir
echo $script_file
echo $os
O exemplo acima imprime os valores das variáveis predefinidas.
Atenção: Não é permitido alterar valor de variáveis predefinidas. Logo, é inválido fazer conforme a seguir:
$os=linux
Proxima aula
A próxima aula ensina sobre o uso de $ como caractere.