xref: /aoo41x/main/solenv/gbuild/JavaClassSet.mk (revision 7871dc3e)
1*7871dc3eSAndrew Rist#**************************************************************
2*7871dc3eSAndrew Rist#
3*7871dc3eSAndrew Rist#  Licensed to the Apache Software Foundation (ASF) under one
4*7871dc3eSAndrew Rist#  or more contributor license agreements.  See the NOTICE file
5*7871dc3eSAndrew Rist#  distributed with this work for additional information
6*7871dc3eSAndrew Rist#  regarding copyright ownership.  The ASF licenses this file
7*7871dc3eSAndrew Rist#  to you under the Apache License, Version 2.0 (the
8*7871dc3eSAndrew Rist#  "License"); you may not use this file except in compliance
9*7871dc3eSAndrew Rist#  with the License.  You may obtain a copy of the License at
10*7871dc3eSAndrew Rist#
11*7871dc3eSAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
12*7871dc3eSAndrew Rist#
13*7871dc3eSAndrew Rist#  Unless required by applicable law or agreed to in writing,
14*7871dc3eSAndrew Rist#  software distributed under the License is distributed on an
15*7871dc3eSAndrew Rist#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*7871dc3eSAndrew Rist#  KIND, either express or implied.  See the License for the
17*7871dc3eSAndrew Rist#  specific language governing permissions and limitations
18*7871dc3eSAndrew Rist#  under the License.
19*7871dc3eSAndrew Rist#
20*7871dc3eSAndrew Rist#**************************************************************
21*7871dc3eSAndrew Rist
22*7871dc3eSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweirgb_JavaClassSet_REPOSITORYNAMES := $(gb_Helper_REPOSITORYNAMES)
25cdf0e10cSrcweirgb_JavaClassSet_JAVACCOMMAND := $(JAVACOMPILER)
26cdf0e10cSrcweir
27cdf0e10cSrcweirdefine gb_JavaClassSet__command
28cdf0e10cSrcweir$(call gb_Helper_abbreviate_dirs_native,\
29cdf0e10cSrcweir	mkdir -p $(dir $(1)) && \
30cdf0e10cSrcweir	$(gb_JavaClassSet_JAVACCOMMAND) -cp "$(CLASSPATH)" -d $(call gb_JavaClassSet_get_classdir,$(2)) $(3) && \
31cdf0e10cSrcweir	touch $(1))
32cdf0e10cSrcweir
33cdf0e10cSrcweirendef
34cdf0e10cSrcweir
35cdf0e10cSrcweirdefine gb_JavaClassSet__rules
36cdf0e10cSrcweir$$(call gb_JavaClassSet_get_repo_target,$(1),%) :
37cdf0e10cSrcweir	$$(call gb_JavaClassSet__command,$$@,$$*,$$?)
38cdf0e10cSrcweir
39cdf0e10cSrcweir$$(call gb_JavaClassSet_get_target,%) : $$(call gb_JavaClassSet_get_repo_target,$(1),%)
40cdf0e10cSrcweir	$$(call gb_Output_announce,$$*,$$(true),JCS,3)
41cdf0e10cSrcweir	$$(call gb_Helper_abbreviate_dirs,\
42cdf0e10cSrcweir		touch $$@)
43cdf0e10cSrcweir
44cdf0e10cSrcweirendef
45cdf0e10cSrcweir
46cdf0e10cSrcweir$(call gb_JavaClassSet_get_clean_target,%) :
47cdf0e10cSrcweir	$(call gb_Output_announce,$*,$(false),JCS,3)
48cdf0e10cSrcweir	$(call gb_Helper_abbreviate_dirs,\
49cdf0e10cSrcweir		rm -rf $(dir $(call gb_JavaClassSet_get_target,$*)))
50cdf0e10cSrcweir
51cdf0e10cSrcweir
52cdf0e10cSrcweir$(foreach reponame,$(gb_JavaClassSet_REPOSITORYNAMES),$(eval $(call gb_JavaClassSet__rules,$(reponame))))
53cdf0e10cSrcweir
54cdf0e10cSrcweirdefine gb_JavaClassSet_JavaClassSet
55cdf0e10cSrcweirendef
56cdf0e10cSrcweir
57cdf0e10cSrcweirdefine gb_JavaClassSet__get_sourcefile
58cdf0e10cSrcweir$(1)/$(2).java
59cdf0e10cSrcweirendef
60cdf0e10cSrcweir
61cdf0e10cSrcweirdefine gb_JavaClassSet_add_sourcefile
62cdf0e10cSrcweir$(foreach reponame,$(gb_JavaClassSet_REPOSITORYNAMES),\
63cdf0e10cSrcweir	$(eval $(call gb_JavaClassSet_get_repo_target,$(reponame),$(1)) : $(call gb_JavaClassSet__get_sourcefile,$($(reponame)),$(2))))
64cdf0e10cSrcweir
65cdf0e10cSrcweirendef
66cdf0e10cSrcweir
67cdf0e10cSrcweirdefine gb_JavaClassSet_add_sourcefiles
68cdf0e10cSrcweir$(foreach sourcefile,$(2),$(call gb_JavaClassSet_add_sourcefile,$(1),$(sourcefile)))
69cdf0e10cSrcweir
70cdf0e10cSrcweirendef
71cdf0e10cSrcweir
72cdf0e10cSrcweirdefine gb_JavaClassSet_set_classpath
73cdf0e10cSrcweir$(call gb_JavaClassSet_get_target,$(1)) : CLASSPATH := $(2)
74cdf0e10cSrcweir
75cdf0e10cSrcweirendef
76cdf0e10cSrcweir
77cdf0e10cSrcweir# vim: set noet sw=4 ts=4:
78