Quick start

Here’s a quick start on how to install PMake and create a simple working project, compilable and installable by PMake.

Install PMake

There are two ways to get and install PMake on your machine. One way is to download and install the binary from GitHub (https://github.com/daar/pmake/releases). The release files are zip files and need to be copied to a location on your machine that is accessible from the command line. So either copy the folder contents to such a location or add the folder location which contains the binary and unit files to the PATH environment.

Note

Make sure you copy all files in the distribution, so PMake can find them when compiling the build scripts.

Note

It’s more convenient to use the install target of PMake to install the build tool to the correct location on your machine. See below for a detailed explanation on how to do it.

The other way to download the sources from https://github.com/daar/pmake/ via either GIT or SVN.

$ svn co https://github.com/daar/pmake.git

or

$ git clone https://github.com/daar/pmake

Then you can compile PMake by doing the following, assuming you just cloned the repository.

$ cd pmake
$ cd pmake
$ fpc pmake

To install PMake you need to invoke PMake to create make and then do a make install;

$ ./pmake
$ sudo ./make install

This command will allow you to install PMake to the correct platform specific location. On *nix platforms you will need to provide the administrator password to have rights to install the files, hence sudo.

Simple example

Once PMake is installed you can start using it in your projects.

The following example demonstrates some concept ideas of PMake. For this example you need two source files and one PMake.txt. The executable hellodemo is built by linking to the library hello_pkg that is built first.

The first, top-level directory contains the following PMake.txt file.

//root folder PMake.txt
project('HELLO');

add_library('hello_pkg', ['uhello.pas'])
add_executable('hellodemo_pkg', 'hellodemo$(EXE)', 'demo.pp', ['hello_pkg']);

The program source file in the root folder is:

program hello;

uses
  uhello;

begin
  WriteHello;
end.

The unit source file is shown below:

unit uhello;

interface

procedure WriteHello;

implementation

procedure WriteHello;
begin
  writeln('Hello World!');
end;

end.

Now the project can be compiled by using the following commands;

$ pmake
$ ./make

If all went well there will be two folders created in the root folder. In case you are working on a 64bit windows machine, using the 64bit FPC compiler you will see:

./bin/x86_64-win64
./units/x86_64-win64

The bin folder will contain the executable called hellodemo.exe, while the units folder will contain the compiled units.