IFs
No script FoxMakefile, é possível também definir o que deve ser executado apenas se estiver no windows ou o que deve ser executado, apenas, se não estiver no windows. Para tanto, se pode utilizar a diretiva IF com ENDIF. A diretiva IF pode envolver na condição qualquer valor string, propriedade ou variável definida fora do escopo de definição de tasks ou procedures.
A diretiva IF não necessita da palavra THEN. Veja o exemplo abaixo:
IF os != "windows"
test.linker.params=-ldl -rdynamic
ENDIF
O exemplo acima seta o valor da propriedade "test.linker.params", apenas se estiver em um sistema operacional diferente de "windows". Isto é, a variável "os" é definida pelo foxmake antes da interpretação do script e tem valor correspondente ao sistema operacional. Se é windows ou não. Veja abaixo outro exemplo:
proc printDirContent
IF os == "windows"
@dir
ENDIF
IF os != "windows"
@ls
ENDIF
endproc
O código acima define um procedimento que, se estiver no sistema operacional windows, executa o comando dir, caso contrário, executa o comando ls do linux.
A diretiva IF é processada em tempo de interpretação. Diferente da instrução if que é executada em tempo de execução.
Proxima aula
A próxima aula ensina sobre instruções IF executadas em tempo de execução.