Subsections


8.4 Role-File idl.mk

8.4.1 Purpose

The purpose of the IDL role is to translate IDL definition files into appropriate .c- and .h-files. The .c- and .h-files are the targets. To compile the generated files, use directories with the prog or lib role, and import the generated files using IDL-related parameters. There are no special targets.

8.4.2 Make-Targets

all::
Phony target. Generate the .c- and .h-files.
install::
Phony target. Install into $(DROPS_STDDIR).

8.4.3 Required Parameters

IDL The list of the idl definition files.

8.4.4 Optional Parameters

DEFINES++ Container for additional defines for the preprocessor. Default: Adds $(ARCH), $(CPU) and $(L4API) as defines. See Section 6.3 for details.
IDL_EXPORT_SKELETON Mask of IDL files, whose generated server-include files should be installed into $(INSTALLDIR_IDL). Default: empty, nothing to install.
IDL_EXPORT_STUB Mask of IDL files, whose generated client-include files should be installed into $(INSTALLDIR_IDL). Default: %, install the client-headers of all IDL files in $(IDL).
IDL_FLAGS Additional flags to be passed to the idl-compiler. adds -P{ $(DEFINES) -I{ $(PRIVATE_INCDIR) $(GCCINCDIR) $(L4INCDIR)} $(LIBCINCDIR) }. Also adds flags to use the appropriate back- and front-ends according to $(L4API) and $(IDL_TYPE). With $(MODE)=host, $(L4INCDIR) is not added.
IDL_TYPE+ This specifies what kind of idl the idl-files are. This determines the compiler to use. Supported values are
dice
The idl(s) is in a modified DCE-style. Use dice to compile the idl-file(s).
corba
The idl(s) is in corba style. Use dice to compile the idl-file(s).

Default is 'dice'.

INSTALLDIR_IDL The directory to install the created include files to. Default: $(PKGDIR)/include/ARCH-$(ARCH)/L4API-$(L4API)
L4INCDIR++ System-dependent list of include directories. Default:

$(L4DIR)/include/$(ARCH)/$(L4API)

$(DROPS_STDDIR)/include/$(ARCH)/$(L4API)

$(L4DIR)/include/$(ARCH)

$(DROPS_STDDIR)/include/$(ARCH)

$(L4DIR)/include

$(DROPS_STDDIR)/include

LIBCINCDIR Include path and flags to the libc includes. Default: Determined by the mode, points to dietlibc or uClibc normally.
MODE++ specify, which target system a target has to be built for (see Section 6.5). Default: host
PRIVATE_INCDIR+ List of directories to prepend to the include-directive of the idl-compiler.
SYSTEMS The systems the .c and .h files have to be build for. Each system is build into a separate directory. Default: x86-l4v2.

8.4.5 Example

PKGDIR = ..
L4DIR ?= \$(PKGDIR)/../..

IDL = ping.idl

include \$(L4DIR)/mk/idl.mk

8.4.6 C++ programs

If the IDL_FLAGS parameter specifies the C++ languag mapping using -BmCPP, then C++ files are generated. They end on .cc and .hh and are added to SRC_CC variables of lib and prog make roles.

L4 Checker 2012-04-11