Benny Prijono | 42c5b9e | 2006-05-10 19:24:40 +0000 | [diff] [blame] | 1 | |
| 2 | Configuring the Build System |
| 3 | Update: 04 May 2006 |
| 4 | |
| 5 | |
| 6 | 1. Overview |
| 7 | |
| 8 | The "configure" script in pjproject root directory is not an autoconf script, |
| 9 | but it's just a custom script to generate "build.mak" for the build system. |
| 10 | The "build.mak" file declares the following global Makefile variables: |
| 11 | |
| 12 | MACHINE_NAME |
| 13 | The processor and hardware platform of the target. For each MACHINE_NAME, |
| 14 | there must be matching "m-*.mak" entry in "build/" subdirectory. For |
| 15 | example, when MACHINE_NAME is declared as "i386", then there must be |
| 16 | "m-i386.mak" file in "build/" subdirectory. |
| 17 | |
| 18 | OS_NAME |
| 19 | Operating system name, determines which "os-*.mak" in "build/" dir to use. |
| 20 | |
| 21 | HOST_NAME |
| 22 | Build host name, determines which "host-*.mak" to use. |
| 23 | |
| 24 | CC_NAME |
| 25 | Compiler name, determines which "cc-*.mak" to use. |
| 26 | |
| 27 | TARGET_NAME |
| 28 | Determines suffix to be added to output files (for example, |
| 29 | "libpjsip-i386-linux-gcc.a"). The value normally is equal to |
| 30 | $(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME), but it can contain any value. |
| 31 | |
| 32 | CROSS_COMPILE |
| 33 | Determine the prefix to be applied when invoking build tools (for |
| 34 | example, "powerpc-rtems-"). The default is empty. |
| 35 | |
| 36 | |
| 37 | At present, the configure script CAN NOT be used for configuring cross |
| 38 | compilation. For cross compiling, you must create the "build.mak" file |
| 39 | manually. |
| 40 | |
| 41 | |
| 42 | 2. Supported Hosts and Targets |
| 43 | |
| 44 | The number of supported hosts and targets will (hopefully) increase over time. |
| 45 | See "build/" subdirectory for list of supported machines, OSes, hosts, and |
| 46 | compilers. |
| 47 | |