build.proj.mk
—
bsdbuild - compilation of IDE project files
The build.proj.mk
module uses the
premake(1)
utility to generate "project files", so that BSDBuild projects can
be opened by various IDEs (Integrated Development Environments).
This module adds the target "proj", so that "make
proj" will compile the project files, and pack them into sets of
archive files (under PROJDIR
, which defaults to
"./ProjectFiles").
The various profiles are defined by the space-separated list
PROJFILES
. Each entry in
PROJFILES
has the format:
<OS>:<IDE>:<FLAVOR>:<OPTIONS>
"<OS>" specifies the operating system and
"<IDE>" is the target IDE name. The "<FLAVOR>
argument is a flavor or variant identifier (e.g., "nothreads"),
and "<OPTIONS>" is a comma-separated list of ./configure
options (e.g., "--disable-threads").
Valid "<OS>" values include:
- windows
- Windows 95 and up
- windows-xp
- Windows XP and up
- windows-xp-x64
- Windows XP and up (64-bit)
- windows-vista
- Windows Vista and up
- windows-vista-x64
- Windows Vista and up (64-bit)
- windows-7
- Windows 7 and up
- windows-7-x64
- Windows 7 and up (64-bit)
Note: Premake does support other targets ("bsd",
"linux" and "macosx"), but it rarely if ever necessary
to generate project files for those targets since they already provide a
proper compilation environment (i.e., BSDBuild can be used directly on
them).
Valid "<IDE>" target names include:
- cb-gcc
- Code::Blocks with gcc
- vs6
- Visual Studio 6
- vs2002
- Visual Studio 2002
- vs2003
- Visual Studio 2003
- vs2005
- Visual Studio 2005
- monodev
- MonoDevelop
- sharpdev
- ICSharpCode SharpDevelop
- proj
- If
PROJECT
is defined, generate the project files.
Otherwise, only generate PREMAKEOUT
in the current
directory.
PROJECT
- Name of project. If a project has multiple subdirectories, this should
only be defined in the top-level directory.
PROJFILES
- List of project files to generate (see DESCRIPTION above).
PROJDIR
- Directory to hold generated project file archives.
- List of additional files to include in all project file archives.
PROJINCLUDES
- List of additional premake scripts to include everywhere.
PREMAKE
- Path to
premake(1)
utility.
ZIP
- Path to
zip(1)
utility.
ZIPFLAGS
- Flags to
zip(1).
MKPROJFILES
- Path to
mkprojfiles(1)
utility (which is part of BSDBuild).
PREMAKEOUT
- Filename of premake input generated by BSDBuild (defaults to
premake.lua).
PREMAKEFLAGS
- Flags to premake utility.
build.proj.mk
first appeared in BSDBuild
2.2
BSDBuild is based on the 4.4BSD build system.