22 # or visit www.oracle.com if you need additional information or have any |
22 # or visit www.oracle.com if you need additional information or have any |
23 # questions. |
23 # questions. |
24 # |
24 # |
25 |
25 |
26 define SetupRMICompilation |
26 define SetupRMICompilation |
27 # param 1 is a name for a variable to depend on. |
27 # param 1 is a name for a variable to depend on. |
28 # param 2 and up are named args. |
28 # param 2 and up are named args. |
29 # CLASSES:=List of classes to generate stubs for |
29 # CLASSES:=List of classes to generate stubs for |
30 # CLASSES_DIR:=Directory where to look for classes |
30 # CLASSES_DIR:=Directory where to look for classes |
31 # STUB_CLASSES_DIR:=Directory in where to put stub classes |
31 # STUB_CLASSES_DIR:=Directory in where to put stub classes |
32 # RUN_V11:=Set to run rmic with -v1.1 |
32 # RUN_V11:=Set to run rmic with -v1.1 |
33 # RUN_V12:=Set to run rmic with -v1.2 |
33 # RUN_V12:=Set to run rmic with -v1.2 |
34 # RUN_IIOP:=Set to run rmic with -iiop |
34 # RUN_IIOP:=Set to run rmic with -iiop |
35 # RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage |
35 # RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage |
36 # KEEP_GENERATED:=Set to keep generated sources around |
36 # KEEP_GENERATED:=Set to keep generated sources around |
37 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE)) |
37 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE)) |
38 $(call LogSetupMacroEntry,SetupRMICompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15)) |
38 $(call LogSetupMacroEntry,SetupRMICompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15)) |
39 $(if $(16),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk)) |
39 $(if $(16),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk)) |
40 |
40 |
41 $1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/_the.$1_rmic.generated |
41 $1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/_the.$1_rmic.generated |
42 |
42 |
43 $1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES)) |
43 $1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES)) |
44 $1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH))) |
44 $1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH))) |
45 $1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH))) |
45 $1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH))) |
46 $1_TARGETS := $$($1_STUB_FILES) |
46 $1_TARGETS := $$($1_STUB_FILES) |
47 $1_ARGS := |
47 $1_ARGS := |
48 ifneq (,$$($1_RUN_V11)) |
48 ifneq (,$$($1_RUN_V11)) |
49 $1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH))) |
49 $1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH))) |
50 $1_TARGETS += $$($1_SKEL_FILES) |
50 $1_TARGETS += $$($1_SKEL_FILES) |
51 $1_ARGS += -v1.1 |
51 $1_ARGS += -v1.1 |
52 endif |
52 endif |
53 ifneq (,$$($1_RUN_V12)) |
53 ifneq (,$$($1_RUN_V12)) |
54 $1_ARGS += -v1.2 |
54 $1_ARGS += -v1.2 |
55 endif |
55 endif |
56 |
56 |
57 $1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f)) |
57 $1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f)) |
58 $1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) |
58 $1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) |
59 $1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) |
59 $1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) |
60 |
60 |
61 ifneq (,$$($1_RUN_IIOP)) |
61 ifneq (,$$($1_RUN_IIOP)) |
62 $1_TARGETS += $$($1_TIE_FILES) |
62 $1_TARGETS += $$($1_TIE_FILES) |
63 $1_ARGS += -iiop -emitPermissionCheck |
63 $1_ARGS += -iiop -emitPermissionCheck |
64 endif |
64 endif |
65 ifneq (,$$($1_RUN_IIOP_STDPKG)) |
65 ifneq (,$$($1_RUN_IIOP_STDPKG)) |
66 $1_TARGETS += $$($1_TIE_STDPKG_FILES) |
66 $1_TARGETS += $$($1_TIE_STDPKG_FILES) |
67 $1_ARGS2 := -iiop -emitPermissionCheck -standardPackage |
67 $1_ARGS2 := -iiop -emitPermissionCheck -standardPackage |
68 endif |
68 endif |
69 |
69 |
70 ifneq (,$$($1_KEEP_GENERATED)) |
70 ifneq (,$$($1_KEEP_GENERATED)) |
71 $1_ARGS += -keepgenerated |
71 $1_ARGS += -keepgenerated |
72 $1_TARGETS += $$(subst .class,.java,$$($1_TARGETS)) |
72 $1_TARGETS += $$(subst .class,.java,$$($1_TARGETS)) |
73 endif |
73 endif |
74 |
74 |
75 $1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES)) |
75 $1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES)) |
76 |
76 |
77 $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES) |
77 $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES) |
78 |
78 |
79 $$($1_DEP_FILE): $$($1_CLASS_FILES) |
79 $$($1_DEP_FILE): $$($1_CLASS_FILES) |
80 $(MKDIR) -p $$($1_STUB_CLASSES_DIR) |
80 $(MKDIR) -p $$($1_STUB_CLASSES_DIR) |
81 if [ "x$$($1_ARGS)" != "x" ]; then \ |
81 if [ "x$$($1_ARGS)" != "x" ]; then \ |
82 $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) &&\ |
82 $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) && \ |
83 $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \ |
83 $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \ |
84 -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\ |
84 -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \ |
85 fi; |
85 fi; |
86 if [ "x$$($1_ARGS2)" != "x" ]; then \ |
86 if [ "x$$($1_ARGS2)" != "x" ]; then \ |
87 $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) &&\ |
87 $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) && \ |
88 $(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \ |
88 $(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \ |
89 -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\ |
89 -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \ |
90 fi; |
90 fi; |
91 $(TOUCH) $$@ |
91 $(TOUCH) $$@ |
92 |
92 |
93 |
93 |
94 $1 := $$($1_TARGETS) $$($1_DEP_FILE) |
94 $1 := $$($1_TARGETS) $$($1_DEP_FILE) |