BRMake 2.05 Make File Utility for Harbour, xHarbour y MiniGUI
 
This utility creates an executable program from a multi-archive project, using Harbour, xHarbour and MiniGUI.LIB or other libs.
 
In a project with multiple .PRG files, BRMAKE will compile only those files modified after the last compilation. speeding up the executable creation process. 
 
To use this utility you need to install in your PC the Borland BCC 5.5 compiler, Harbour or xHarbour and MiniGUI graphic library (in case you want to create a GUI program).
 
Usage instructions:
  
Syntax: BRMAKE File.MLK [ Parameters ]    .Or.    BRMAKE File.PRG
 
File.MLK = Project info file (.MLK)
Parameters = /F Compiles entire project unconditionally
 
  Compiling a Project File: 
- The user must create a text file, with a name at your choice, with a .MLK extension (ie: Project.Mlk ,    System.Mlk, etc ) according the following syntax:
  
 
   Command                Explanation
   #                         Remark Line
    GUI=y/N              Y= Use Minigui (Default = N)
    MAPFILE=y/N        Y=Create Map File (Default = N)
    INCLUDE               Include Files of Project
    DIROBJ                 Directory of .obj files for project
    EXEFILE               EXE filename to be created
    FILE                     PRG project files
    FMGFOLDER         To inform Directorio of the archives FMG of the project.
    HARBOURFLAGS     Flags Compiler Harbour/xHarbour compiler
    RESOURCE               Resource file
    LIB                      External libraries
    OBJ                     External OBJs
    SEARCH                Alternative SEARCH Paths .PRG, .CH, LIBs, OBJs
    REQUEST             Additional resources
    Available               ADS     Adds RDDADS.LIB y ACE32.LIB libraries
   resources              MYSQL Adds MYSQL.LIB y LIBMYSQL.LIB libraries
  for REQUEST           ODBC   Adds HBODBC.LIB y ODBC32.LIB libraries
                              ZIP      Adds ZLIB1.LIB y ZIPARCHIVE.Z libraries
 
Project File Example
 
GUI=Y
EXEFILE       MYPROJET.EXE
FILE           Prog1.Prg , Prog2.Prg , Prog3.prg, Prog4.Prg
FILE           Prog5.Prg , Prog6.Prg , ...
LIB            VLLIB.LIB, MYLIB.LIB
RESOURCE  projresource.RC
OBJ              OBJEXT.OBJ, MYOBJ.OBJ
REQUEST    ADS, ZIP
 
*** Very Important *** 
- The .PRG file containing main procedure must the first declared, if you don't do so, a application     run-time error will occur. 
- The declared files must be separated by ',' 
- It is no necessary to indicate the file extension .PRG, .LIB, .OBJ, etc.
- It no necessary to use all clauses, only clauses needed by the project must be used.
  
Project Example (Without Graphic Library)
 
GUI=N
EXEFILE   MYPROJECT.EXE
FILE        Prg1.prg, Prog2.prg, prog3.prg
FILE        Prg4.prg, Prog5.prg
REQUEST ADS, ZIP
 
To compile: BRMAKE MyProject.MLK  Compiles all .prg files modified after Last compilation.
 
In this sample the following libraries will be added: (ADS) RDDADS.LIB and ACE32.LIB libs (ZIP) ZLIB1.LIB and ZIPARCHIVE.ZIP
 
BRMAKE will compile only files modified from last compilation.
  
Example of MINIGUI graphic library project:
 
GUI=Y
EXEFILE    MYPROJECT.EXE
FILE          Prg1.prg, Prog2.prg, prog3.prg
FILE          Prg4.prg, Prog5.prg
RESOURCE Myimages.RC
REQUEST   MYSQL, ZIP
 
To compile: BRMAKE MyProject.MLK
BRMAKE will compile only files modified from last compilation.  
 
In this sample the following libraries will be added: (MYSQL) MYSQL.LIB and LIBMYSQL.LIB, (ZIP) ZLIB1.LIB and ZIPARCHIVE.ZIP
 
Example of HWGUI graphic library HWGUI:
 
GUI=Y
EXEFILE    MYPROJECT.EXE
FILE          Prog1.prg, Prog2.prg, prog3.prg
FILE          Prog4.prg, Prog5.prg
LIB               HWGUI.LIB, PROCMISC.LIB, HWG_QHTM.LIB
 
To use LIB HWGUI or other graphic library
 
Include Clause SEARCH in Project File:
 
GUI=Y
SEARCH      C:\HWGUI\LIB;C:\HWGUI\INCLUDE
EXEFILE    MYPROJECT.EXE
FILE          Prog1.prg, Prog2.prg, prog3.prg
FILE          Prog4.prg, Prog5.prg
LIB               HWGUI.LIB, PROCMISC.LIB, HWG_QHTM.LIB
 
or insert directory HWGUI in SET LIB or SET INCLUDE.
Insert in your Autoexec.bat or Prompt MS-DOS:
ex: SET LIB=%LIB%;C:\HWGUI\LIB
      SET INCLUDE=%INCLUDE%;C:\HWGUI\INCLUDE
 
To force entire project compilation you must use /F parameter
 Example: BRMAKE MyProject.MLK /F
 
You can compile an individual PRG file
  
Compiling single PRG
 
You must indicate the name of the file to compile and the additional parameters, if needed
 
/GUI = Compiles Arquivo.PRG with MiniGUI.LIB
/A = ADS Links ADS libraries
/O = ODBC Links ODBC libraries
/Z = ZIP Links ZIP libraries
/M = MySql Links MYSQL libraries
 
Sample 01: BRMAKE MyProg.PRG or BRMAKE MyProg
Compiles MyProg.Prg file
 
Sample 02: BRMAKE MyProg /Z /M
Compiles MyProg.Prg files using ZIP and MySQl libraries
 
Sample 03: BRMAKE MyProg /GUI /ODBC
Compiles MyProg.Prg file, linking MiniGUI.LIB and ODBC libraries.
  
Configuring Harbour / xHarbour and MiniGUI 
 
BRMAKE uses an .INI file (BRMAKE.INI) to store the instalation folder of BCC, Harbour or xHarbour and MiniGUI
 
These are the default parameters
 
# BRMAKE For Harbour/MiniGUI - Parameters
[MINIGUI]
MiniGUI Path=C:\MINIGUI
 
[HARBOUR]
Harbour Path=C:\MINIGUI\HARBOUR
 
[BCC55]
Bcc55 Path=C:\Borland\Bcc55
 
[HARBOUR BASIC LIBRARY]
Lib=bcc640.lib  ->  user xharbour only
Lib=rtl.lib
Lib=vm.lib
Lib=gtwin.lib
Lib=Lang.lib
Lib=macro.lib
Lib=rdd.lib
Lib=dbfntx.lib
Lib=dbfcdx.lib
Lib=common.lib
Lib=libmisc.lib
Lib=libCt.lib     -> User Harbour
Lib=HbCt.lib    -> User xHarbour
Lib=dbfdbt.lib
Lib=dbffpt.lib
Lib=codepage.lib
Lib=socket.lib
Lib=dll.lib
 
[MISC]
Language=EN   .or.   PT=Portuguese Brasil
Video Mode=Disabled  .or. 25,80 sample
Compress With UPX=N
STOP=N
 
Besides the installation folders the basic Harbour / xharbour libraries are declared. These libraries will be linked to the executable file generated.
 
If it is necessary to include a new library, insert a new line at the end of the section indicating it. the line must contain the 'lib=' prefix.  Example: Lib=NewLib.Lib
 
*** Warning ***: Only project libraries must be declared in the .MLK file. Never add to this section MYSQL, ODBC, ZIP, ADS, nor third party libraries.
 
When a user requires a project compilation or a unique .prg, BRMAKE searches for a configuration file in the current directory, if not found, it will use the main configuration file located at in the directory where the Brmake is being executed
 
If the configuration file is not found in any of these locations,  BRMAKE will ask the user for it.
 
This way, if the user owns only an unique version of Harbour or  xHarbour or to work with an unique configuration only, the main configuration file can always be used. 
For users having more than one compiler version, or libraries compiled in different ways, he can configure each project individually.
 
To create an BRMAKE.INI configuration file in the current directory, the user has the following options:
 
BRMAKE /IH = Creates a HARBOUR configuration file.
BRMAKE /IxH = Creates a xHARBOUR configuration file.
 
If you had installed MiniGUI.LIB in another folder, you must create a configuration file and change it manually.
 
*** Important *** If you have a Harbour compiled project and modify BRMAKE.INI to use xHarbour, you must recompile all project using the /F parameter.
  
Other Parameters:
/?   Help.
/CONFIG   Configuration
/IH    Creates a HARBOUR configuration file.
/IxH  Creates a XHARBOUR configuration file.
/COPYRIGHT ou /DIREITOS - CopyRight
Create Lib Files - In Test
#Clauses for creating/modifying LIBs.
LIBFILE   Name Lib to Create
ADDPRG   Files PRGs to Compile
ADDOBJ   Files OBJs
REMOVE  Files to Remove
EXTRACT Files to Extract
 
BRMAKE - Make File Utility For Harbour/xHarbour/MiniGUI
 
Please report bugs to: brmake_suporte@yahoo.com.br
 
 
Harbour Compiler - Copyright http://www.harbour-project.org/
MiniGui Library - Roberto Lopez - www.geocities.com/harbour_minigui/
Borland C++ 5.5.1 for Win32 e Turbo Incremental Link 5.00
are registered trademarks of Borland / Inprise Corporation