-#
-# Common build routines to be included in Makefiles
-#
-# The following variables are found in the sdk.mk file which is generated by the configure script:
-# SDK_SRC_BASE the base of the source code, typically the root of the cloned git repository
-# SDK_BUILD_BASE the base of the output
-# JAVA_HOME the base of the JDK used to build
-A2_OUTPUT := $(SDK_BUILD_BASE)/a2
-JVM ?= $(JAVA_HOME)/bin/java
-JAVADOC ?= $(JAVA_HOME)/bin/javadoc
-
-# The following variables should be declared in the Makefile:
-# BUNDLES the space-separated list of bundles to be built
-# A2_CATEGORY the a2 category the bundles will belong to
-#
-# The following variables have default values which can be overriden in the Makefile
-# DEP_CATEGORIES the a2 categories the compilation depends on
-# JAVADOC_PACKAGES the space-separated list of packages for which javadoc will be generated
-# A2_BASE the space-separated directories where already built a2 categories can be found
+ARGEO_BUILD_BASE := $(dir $(lastword $(MAKEFILE_LIST)))
+include $(ARGEO_BUILD_BASE)common.mk
+
+# The following variables should be declared in the including Makefile:
+# BUNDLES the space-separated list of bundles to build
+# A2_CATEGORY the (single) a2 category the bundles will belong to
+
+# The following environment variables can change the behaviour of the build
+# SOURCE_BUNDLES sources will be packaged separately in Eclipse-compatible source bundles
+# NO_MANIFEST_COPY generated MANIFESTs won't be copied to the source tree
+
+# The following variables have default values which can be overriden
+# DEP_CATEGORIES the a2 categories the compilation depends on
+# JAVADOC_PACKAGES the space-separated list of packages for which javadoc will be generated
+# NATIVE_PACKAGES the space-separated list of JNI packages (directories)