Build Environment Effort/Zen of gbuild

From Apache OpenOffice Wiki
Jump to: navigation, search

Edit.png

Build Environment Effort

Quick Navigation

About this template


Zen of gbuild

  • One use make process, do not recurse.
  • Always have good dependencies and clean targets.
  • Have exactly one target per declaration file.
  • Use only tools as defined by POSIX:2008. Exception: GNU extensions are allowed for tar, cp and touch.
  • Dont use Perl or Python for tooling, use POSIX sh, POSIX awk and GNU make instead.
  • If those dont cut it, use C/C++ (Or ask yourself if you are doing something wrong).
  • Use the gb_Output_* functions for notifications.
  • Keep all platform specific stuff confined in the platform subdirectory of gbuild.
  • Never use relative paths. Only absolute paths starting with $(OUTDIR), $(WORKDIR) and the repository roots (for example $(SRCDIR)).
  • Adhere to the Zen of Python, for it is valid in any language.
Personal tools