summaryrefslogtreecommitdiff
path: root/solenv/gbuild/JavaClassSet.mk
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2011-02-22 18:02:52 +0100
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-06-16 10:42:56 +0200
commit6ff09fd588059fe2b8502222e217e34eab177c2a (patch)
tree0da37f4610b272dc0affbd65236d7fff4c5e2d4b /solenv/gbuild/JavaClassSet.mk
parenta913e7e3dc49e43bd4923245e50565c56462e12b (diff)
CWS gnumake4: dependencies of JavaClassSets to referenced jar files
Diffstat (limited to 'solenv/gbuild/JavaClassSet.mk')
-rw-r--r--solenv/gbuild/JavaClassSet.mk10
1 files changed, 7 insertions, 3 deletions
diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk
index 6bb859f270d6..3c1ddb3ecae2 100644
--- a/solenv/gbuild/JavaClassSet.mk
+++ b/solenv/gbuild/JavaClassSet.mk
@@ -31,14 +31,16 @@ gb_JavaClassSet_JAVACCOMMAND := $(JAVACOMPILER)
define gb_JavaClassSet__command
$(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
- $(gb_JavaClassSet_JAVACCOMMAND) -cp "$(CLASSPATH)" -d $(call gb_JavaClassSet_get_classdir,$(2)) $(3) && \
+ $(gb_JavaClassSet_JAVACCOMMAND) -cp "$(CLASSPATH)" -d $(call gb_JavaClassSet_get_classdir,$(2)) $(if $(filter-out $(JARDEPS),$(3)),\
+ $(filter-out $(JARDEPS),$(3)),\
+ $(filter-out $(JARDEPS),$(4))) &&\
touch $(1))
endef
define gb_JavaClassSet__rules
$$(call gb_JavaClassSet_get_repo_target,$(1),%) :
- $$(call gb_JavaClassSet__command,$$@,$$*,$$?)
+ $$(call gb_JavaClassSet__command,$$@,$$*,$$?,$$^)
$$(call gb_JavaClassSet_get_target,%) : $$(call gb_JavaClassSet_get_repo_target,$(1),%)
$$(call gb_Output_announce,$$*,$$(true),JCS,3)
@@ -56,6 +58,7 @@ $(foreach reponame,$(gb_JavaClassSet_REPOSITORYNAMES),$(eval $(call gb_JavaClass
# no initialization of scoped variable CLASSPATH as it is "inherited" from controlling instance (e.g. JUnitTest, Jar)
define gb_JavaClassSet_JavaClassSet
+$(call gb_JavaClassSet_get_target,$(1)) : JARDEPS :=
endef
define gb_JavaClassSet__get_sourcefile
@@ -82,7 +85,8 @@ endef
# build order dependency is a hack to get these prerequisites out of the way in the build command
define gb_JavaClassSet_add_jar
$(foreach reponame,$(gb_JavaClassSet_REPOSITORYNAMES),\
- $(eval $(call gb_JavaClassSet_get_repo_target,$(reponame),$(1)) :| $(2)))
+$(eval $(call gb_JavaClassSet_get_repo_target,$(reponame),$(1)) : $(2))
+$(eval $(call gb_JavaClassSet_get_repo_target,$(reponame),$(1)) : JARDEPS += $(2)))
endef
# vim: set noet sw=4 ts=4: