Build Environment Effort/Zen of gbuild

From Apache OpenOffice Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 good clean targets.
  • Have exactly one $(OUTDIR) target per declaration file.
  • Use only tools as defined by POSIX:2008 and supported on all platforms. Exception: GNU extensions are allowed for cp, make, tar and touch.
  • Use only POSIX sh, POSIX awk, C/C++ and GNU make in gbuild core.
  • Otherwise, put the file in the extensions subdirectory and do not depend the core functionality on it.
  • 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)) should be used.
  • Adhere to the Zen of Python, for it is valid in any language.
Personal tools