Falar Eder.... blz
Eu já te respondi no orkut, na comunidade Clipper on-line, mas vou postar, colando o que coloquei lá:
1. Teremos que criar um BAT apropriado pro sistema que está em desenvolvimento.
2. Vamos imaginar a seguinte estrutura de arquivos para o podermos criar um exemplo:
SISTEMA.PRG // Este seria o módulo principal.
FUNCOES.PRG
CADASTRO.PRG
RELAT.PRG
3. O compilador (Clipper) transforma o PRG num objeto (OBJ). Aí, o linkador utiliza-se do OBJ e mais as LIB's para criar o executável. Portanto, se você costuma compilar PRG por PRG, então o número de OBJ's será igual ao número de PRG's.
Se você possui uma grande quantidade de PRG's (que é o meu caso), eu crio um arquivo de extensão CLP, como o exemplo abaixo:
SISTEMA.CLP // que possui o seguinte conteudo:
SISTEMA.PRG
FUNCOES.PRG
CADASTRO.PRG
RELAT.PRG
Então, nesse caso, eu teria quatro PRG's, porém, gerando um único OBJ.
Para compilar, vamos usar a seguinte sintaxe na linha de comando:
CLIPPER @SISTEMA // note que existe um "@" antes do nome.
Aí, o compilador gera 1 OBJ, com o mesmo nome, mas contendo os dados compilados dos 4 PRG's. Meu sistema tem mais de 90 módulos, então eu trabalho com uns 10 arquivos CLP's. Dessa maneira:
CLIPPER @SISTEMA
CLIPPER @SISTEMA2
CLIPPER @SISTEMA3.... etc...
Ao final da compilação, teremos 10 OBJ's gerados pelo compilador.
4. O ideal, pra facilitar a nossa vida, podemos apelar para um programa de lote (BATCH), o famoso .BAT !!! rsssss... Vou colocar 2 exemplos de BAT's aqui, onde vc pode usar o primeiro caso utilize a compilação modulo por módulo, e a segunda se vc utiliza arquivos CLP para o seu sistema:
//Exemplo 01: COMP.BAT
@echo off
CLIPPER SISTEMA
IF NOT ERRORLEVEL 1 CLIPPER FUNCOES
IF NOT ERRORLEVEL 1 CLIPPER CADASTRO
IF NOT ERRORLEVEL 1 CLIPPER RELAT
IF NOT ERRORLEVEL 1 BLINKER @SISTEMA // calma que já explico !!!
IF NOT ERRORLEVEL 1 SISTEMA
echo on
//Exemplo 02: COMP.BAT
@echo off
CLIPPER @SISTEMA
IF NOT ERRORLEVEL 1 BLINKER @SISTEMA // calma que já explico !!!
IF NOT ERRORLEVEL 1 SISTEMA
echo on
5. Ok. Agora vamos ao Blinker !!! Para utilizar o Blinker, nós precisamos criar um arquivo com a extensão LNK. Este arquivo vai informar ao Blinker uma sequencia de scripts, cujo conteúdo é sobre a própria configuração de ambiente operacional, os OBJ's que devem ser linkados, as bibliotecas que serão utilizadas, etc...
Ok, vamos ao conteúdo do arquivo LNK:
SISTEMA.LNK
NOBELL // linhas de configuração
BLINKER INCREMENTAL OFF
BLINKER PROCEDURE DEPTH 60
BLINKER OVERLAY OPSIZE 40
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE EXTENDED
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE CLIPPER F225;SWAPK:65535;DYNF:8
BLINKER CACHE EMS 512,25%
BLINKER OVERLAY UMB ON
BLINKER OVERLAY PAGEFRAME ON
BLINKER MESSAGE WINK RIGHT
BLINKER CACHE XMS 25%,2048
MAP=STATUS.MAP A,S
STACK 6148
BEGINAREA // aqui começamos a definir os OBJ's que vamos utilizar
FILE SISTEMA, FUNCOES, CADASTRO, RELAT // utilize assim, caso vc tenha compilado um por um dos PRG's.
FILE SISTEMA // utilize assim, caso vc tenha gerado um único OBJ.
ENDAREA
LIB VL2_52,DBFCDX // coloque aqui suas LIB's
OutPut SISTEMA.EXE // Aqui é o arquivo que será gerado.
------
Lembre-se que no item FILE, deve ser usado apenas uma das duas opções, dependendo da forma como vc cria seus OBJ's.
6. No Rtlink, vc criava os executáveis de forma simples, né

Apenas usando um "RTLINK FI SISTEMA". Aqui no Blinker, necessitamos dos "benditos" LNK's, afinal, o Blinker possui mais recursos, mas em compensação, é mais chato !!! rsssssss...
7. Pronto !!! Vc já possui os PRG's, criou o BAT para compilar e linkar e também já possui o LNK para o Blinker trabalhar sossegado !!!
É importante dizer que, não importa qual versão do Microsoft Windows vc usa, seja 98/ME/XP/2000 .... esse Script não sofre alteração nenhuma. Enfim use pra todos.