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 build.prog.mk and build.lib.mk 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 build.lib.mk
makefile and use relative path
names in ${SRCS}
, for example:
TOP= . LIB= mylib SRCS= source1.c \ subdir1/source2.c \ subdir2/source3.c include ${TOP}/Makefile.config include ${TOP}/mk/build.lib.mk
Can I create a Makefile in a directory without any sources?
Yes, by including only build.subdir.mk
, and setting the targets
explicitely:
TOP= . SUBDIR= dir1 \ dir2 all: all-subdir install: install-subdir deinstall: deinstall-subdir clean: clean-subdir cleandir: cleandir-subdir depend: depend-subdir include ${TOP}/mk/build.subdir.mk
Is BSDBuild sudo-aware?
Yes, BSDBuild will automatically prefix
${SUDO}
, when set, to such
commands as make install
.