make/common/IdlCompilation.gmk
changeset 27592 af7df0dd5ff7
parent 26127 5ca6c50438a8
child 28600 09dd1740f176
child 28902 0c09b47449c8
--- a/make/common/IdlCompilation.gmk	Mon Nov 24 11:53:47 2014 +0100
+++ b/make/common/IdlCompilation.gmk	Wed Nov 26 14:59:10 2014 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -75,10 +75,25 @@
 	$(RM) -rf $3/$$($4_TMPDIR)
 endef
 
+# Setup make rules for creating an IDL compilation.
+#
+# Parameter 1 is the name of the rule. This name is used as variable prefix,
+# and the targets generated are listed in a variable by that name.
+#
+# Remaining parameters are named arguments. These include:
+#   IDLJ
+#   SRC
+#   BIN
+#   INCLUDES
+#   EXCLUDES
+#   OLDIMPLBASES
+#   DELETES
 define SetupIdlCompilation
-  # param 1 is for example BUILD_IDLS
-  # param 2,3,4,5,6,7,8 are named args.
-  #   IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))
+  $(call EvalDebugWrapper,$(strip $1),$(call SetupIdlCompilationInner,$(strip $1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15)))
+endef
+
+define SetupIdlCompilationInner
   $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
   $(call LogSetupMacroEntry,SetupIdlCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
   $(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))