-manifests : osgi
- @mkdir -p $(foreach bundle, $(BUNDLES), $(bundle)/META-INF/);
- @$(foreach bundle, $(BUNDLES), cp -v $(BUILD_BASE)/$(bundle)/META-INF/MANIFEST.MF $(bundle)/META-INF/MANIFEST.MF;)
-
-# Make variables used to replace spaces by a separator, typically in order to generate classpaths
-# for example: CLASSPATH = $(subst $(space),$(pathsep),$(strip $(JARS)))
-null :=
-space := $(null) #
-pathsep := :
\ No newline at end of file
+%/META-INF/MANIFEST.MF : $(BUILD_BASE)/%/META-INF/MANIFEST.MF
+ifneq ($(NO_MANIFEST_COPY),true)
+ @mkdir -p $*/META-INF
+ @cp $< $@
+endif
+
+clean-manifests :
+ @rm -rf $(foreach bundle, $(BUNDLES), $(bundle)/META-INF/MANIFEST.MF);
+
+osgi-all: osgi jni-all
+
+osgi-clean: jni-clean
+ rm -rf $(BUILD_BASE)
+
+osgi-install: jni-install
+ $(ARGEO_MAKE) \
+ install --category $(A2_CATEGORY) --bundles $(BUNDLES) \
+ --target $(A2_INSTALL_TARGET) \
+ --os $(TARGET_OS) --target-native $(A2_NATIVE_INSTALL_TARGET)
+
+osgi-uninstall: jni-uninstall
+ $(ARGEO_MAKE) \
+ uninstall --category $(A2_CATEGORY) --bundles $(BUNDLES) \
+ --target $(A2_INSTALL_TARGET) \
+ --os $(TARGET_OS) --target-native $(A2_NATIVE_INSTALL_TARGET)
+
+jni-all:
+ $(foreach dir, $(JNIDIRS), $(MAKE) -C $(dir) all;)
+
+jni-clean:
+ $(foreach dir, $(JNIDIRS), $(MAKE) -C $(dir) clean;)
+
+jni-install:
+ $(foreach dir, $(JNIDIRS), $(MAKE) -C $(dir) install;)
+
+jni-uninstall:
+ $(foreach dir, $(JNIDIRS), $(MAKE) -C $(dir) uninstall;)
+
+# Javadoc generation
+javadoc: $(BUILD_BASE)/built
+ $(JAVADOC) -noindex -quiet -Xmaxwarns 1 -d $(BUILD_BASE)/api --source-path $(subst $(space),$(pathsep),$(strip $(JAVADOC_SRCS))) -subpackages $(JAVADOC_PACKAGES)
+
+.PHONY: osgi manifests javadoc osgi-all osgi-clean osgi-install osgi-uninstall jni-all jni-clean jni-install jni-uninstall