How portable is BSDBuild?
BSDBuild is portable to many operating systems including most flavors of Unix, MacOS X and Windows. It requires nothing more than a standard make utility (such as GNU make or BSD make), a standard Bourne shell with test, echo and sed. See the Portability page for more details.
Which languages are supported?
At the time, executables and libraries can be compiled from sources in C, C++, Objective C, assembler, Lex and Yacc. The language of a source file in ${SRCS} is determined solely by the file extension. Refer to the current and manual pages for the complete list.
Is profiling supported?
Yes, you only need to set ${GMONOUT} to the desired output filename and invoke make ${GMONOUT} explicitely.
How do I produce a single library from source files located in different subdirectories?

You can create a standard makefile and use relative path names in ${SRCS}, for example:

  TOP=	.
  LIB=	mylib
  SRCS=	source1.c \
  	subdir1/source2.c \
  include ${TOP}/Makefile.config
  include ${TOP}/mk/
Can I create a Makefile in a directory without any sources?

Yes, by including only, and setting the targets explicitely:

  TOP=	.
  SUBDIR= dir1 \
  all: all-subdir
  install: install-subdir
  deinstall: deinstall-subdir
  clean: clean-subdir
  cleandir: cleandir-subdir
  depend: depend-subdir
  include ${TOP}/mk/
Is BSDBuild sudo-aware?
Yes, BSDBuild will automatically prefix ${SUDO}, when set, to such commands as make install.