What is BSDBuild?

BSDBuild is a cross-platform build system. Derived from the traditional 4.4BSD make libraries, BSDBuild uses simple BSD-style Makefiles (without BSD make extensions), and works natively under most operating systems and make flavors. Since BSDBuild is implemented as a library (as opposed to a macro package), Makefiles are edited directly, as opposed to being compiled (however, if the build directory is separate from the source directory, BSDBuild will produce the required Makefiles in place).

BSDBuild can generate pure Bourne ./configure scripts. To end users, BSDBuild-generated configure scripts look similar to a standard GNU autotools script, but they are faster and more compact. As opposed to autotools configure scripts which use large and confusing macro packages, BSDBuild configure scripts are written in a simple language. The base distribution currently includes over 100 built-in tests for detecting and testing the compatibility of various software, and writing new tests is easy.

BSDBuild-based projects are portable to platforms and development environments where make or ./configure scripts cannot be used at all (e.g., MS-DOS or Windows). Thanks to the Premake utility, sets of "Project Files" for various IDEs (such as OpenWatcom, CodeBlocks and Visual Studio) can be generated and compiled automatically from the original BSDBuild Makefiles.

Components
mkconfigure Generate portable Bourne/POSIX configure scripts.
mkconcurrent Set up environment for concurrent builds (requires Perl).
<build.lib.mk> Compile static or shared libraries from C/C++/ObjC/assembler/Lex/Yacc sources.
<build.prog.mk> Compile programs from C/C++/ObjC/assembler/Lex/Yacc sources.
<build.man.mk> Preformat manual pages to ASCII and PostScript output (if nroff(1) is present). The uman utility can be useful for searching and displaying uninstalled manual pages.
<build.dep.mk> Generate source code dependencies ("depend" target).
<build.perl.mk> Install Perl scripts and modules.
<build.po.mk> NLS translation catalogs.
<build.proj.mk> Generate "project files" for various IDEs.
<build.www.mk> Preprocess templated, multilingual XML documents to HTML using m4 and xsltproc.
News
08/10/2012 New stable release: bsdbuild-3.0 [What's new]
06/20/2011 New stable release: bsdbuild-2.9 [What's new]
01/24/2011 New stable release: bsdbuild-2.8 [What's new]
04/07/2010 New stable release: bsdbuild-2.7 [What's new]
06/03/2009 New stable release: bsdbuild-2.5 [What's new]
11/14/2008 New stable release: bsdbuild-2.4 [What's new]
03/12/2008 New stable release: bsdbuild-2.3
03/05/2008 Added discussion mailing list / forum: bsdbuild@
03/04/2008 Added Subversion commits mailing list: bsdbuild-commits@
10/12/2007 New stable release: bsdbuild-2.2
07/18/2007 Added documentation page, tutorial and manual pages for the individual modules.
06/19/2007 New stable release: bsdbuild-2.1
09/12/2004 New stable release: csoft-mk-2.0
09/30/2003 New stable release: csoft-mk-1.9
08/07/2003 New stable release: csoft-mk-1.8

Support BSDBuild

Hosted on multiple redundant OpenBSD servers at Csoft.net.
2014 Hypertriton, Inc. Opposed to software patents and DRM-encumbered devices!
Hosted by Csoft.net Eliminate DRM!