The tree uses the Pismere build script, build.pl
. This
script is known to work with ActivePerl build 517 (www.activestate.com). Older
builds of ActivePerl had subtle incompatibility problems. Newer
builds probably work...try them at your own risk.
The build works under Windows NT. It should work under Windows 95, but we do not test it regularly under that OS. You should use the default command-line shell for those OSes, or something fairly compatible.
Go to the directory you want to build and invoke the build script. The invocation will vary depending on how your system is set up. Here are the most common ways to build:
build.pl -?
- show usage information.
build.pl
(or build.pl all
)- builds debug target.
build.pl NODEBUG=1
(or build.pl all NODEBUG=1
)
- builds release target.
build.pl clean
- cleans debug target.
build.pl clean NODEBUG=1
- cleans release target.
You may need to put perl
at the start of each of the
above commands, depending on whether your shell knows how to execute a
.pl
file.
The build script works by entering a directory, and looking for a
Makefile.src
and a Makefile.dir
file.
If the Makefile.src
is present, the script will try to
create the target defined by this file. Therefore, only one target
can be created per directory. The target cannot consist of source
files from other directories. If this is necessary, you should first
build the other directory, creating a library, and then include that
library as part of the target you're trying to build. If you need to
create multiple targets from a set of source files, you can simply
create additional directories that link in the object or library files
created by the sources.
If the Makefile.dir
is present, the script will try to
build the directories indicated in this file. The directories can be
build before and/or after the current directory.
First, go to the directory where the component is located. Then,
create a Makefile
file, with the contents:
!include <Makefile.inc>
Then, create a Makefile.src
as described below.
You will then be able to run build.pl
in a variety of
ways to get the most common types of builds. See Running the Build above for information on how to
run build.pl
.
If you need to build subdirectories, create a
Makefile.dir
in the directory with the line:
DIRS=dir_1 dir_2Where
dir_n
is the name of the subdirectory you want to
build. The build will first build the current directory then the
subdirectories.
Below are the options that control the build. These are in addition
to any flags shown when you do a build.pl -?
.
These are some of the common options you may want to use in building.
You can set any option at the build.pl
command-line. The
default build is a debug build with browse information. It is
important to realize that building browse information slows down the
build quite a bit, so you may want to disable that at the
command-line.
You should not have to play with the settings in this section. They are here for completeness.
Note: NODEBUG, TUNE, and PROFILE are mutually exclusive.
At this point, $(O) is the output directory. NODEBUG will indicate whether you're doing a release or debug build. STD_LIBS consists of standard Win32 libraries.
INCLUDES=..\include;..\foo\inc;"..\annoying path with space\inc"
)
LIB_PATHS=..\lib;..\foo\lib
)
LIBS=foo.lib bar.lib
..\baz\$(O)\baz.lib
or LIBS=$(STD_LIBS)
)