L4Re/OLD/libfsclient

Changeset

103:fae2fefd3a7f
2020-02-23 Paul Boddie raw files shortlog changelog graph Adopted the idl4re conveniences for defining filenames and rules. libfsclient_minimal
lib/src/Makefile (file)
     1.1 --- a/lib/src/Makefile	Mon Dec 16 00:43:58 2019 +0100
     1.2 +++ b/lib/src/Makefile	Sun Feb 23 21:41:37 2020 +0100
     1.3 @@ -8,52 +8,36 @@
     1.4  
     1.5  MODE		= libminimal
     1.6  
     1.7 -# Functions to generate filenames.
     1.8 -
     1.9 -interfaces_to_idl_files	= $(patsubst %,$(L4DIR)/pkg/libsystypes/idl/%.idl,$(1))
    1.10 -
    1.11 -interfaces_to_client_c	= $(patsubst %,%_client.c,$(1))
    1.12 +# Locations for interface input and generated output.
    1.13  
    1.14 -interfaces_to_client_h	= \
    1.15 -			$(patsubst %,%_interface.h,$(1)) \
    1.16 -			$(patsubst %,%_client.h,$(1)) \
    1.17 +IDL_DIR			= $(L4DIR)/pkg/libsystypes/idl
    1.18 +IDL_MK_DIR		= $(L4DIR)/idl4re/mk
    1.19 +IDL_BUILD_DIR		= .
    1.20 +IDL_CLIENT_INCDIR	= .
    1.21  
    1.22 -# Interface descriptions.
    1.23 +include $(IDL_MK_DIR)/idl.mk
    1.24  
    1.25 -COMMON_INTERFACES	= file filesystem mapped_file opener
    1.26 -COMMON_IDL		= $(call interfaces_to_idl_files,$(COMMON_INTERFACES))
    1.27 +# Individual interfaces.
    1.28  
    1.29 -# Generated sources.
    1.30 +CLIENT_INTERFACES_C	= file filesystem mapped_file opener
    1.31  
    1.32 -COMMON_CLIENT_C		= $(call interfaces_to_client_c,$(COMMON_INTERFACES))
    1.33 -COMMON_CLIENT_H		= $(call interfaces_to_client_h,$(COMMON_INTERFACES))
    1.34 -COMMON_CLIENT		= $(COMMON_CLIENT_C) $(COMMON_CLIENT_H)
    1.35 +# Normal definitions.
    1.36  
    1.37 -# Normal rules.
    1.38 -
    1.39 -SRC_C			= \
    1.40 -			$(COMMON_CLIENT_C) fsdesc_client.c \
    1.41 -			client.c fsdesc.c fsops.c fs_ipc.c \
    1.42 +SRC_C		= \
    1.43 +		$(call interfaces_to_client_c,$(CLIENT_INTERFACES_C)) \
    1.44 +		client.c fsdesc.c fsdesc_client.c fsops.c fs_ipc.c \
    1.45  
    1.46  # Use the libc_newlib_headers for sys_memory.c and string functions.
    1.47  
    1.48 -REQUIRES_LIBS		= libipc_minimal libsystypes libc_newlib_headers
    1.49 +REQUIRES_LIBS	= libipc_minimal libsystypes libc_newlib_headers
    1.50  
    1.51  # To link to libc routines statically, extra pkg-config magic is required.
    1.52  # (The libc_newlib package cannot be added to REQUIRES_LIBS.)
    1.53  
    1.54 -PC_EXTRA        	= Link_Libs= %{static:-lc_newlib}
    1.55 +PC_EXTRA        = Link_Libs= %{static:-lc_newlib}
    1.56  
    1.57 -PRIVATE_INCDIR		+= $(PKGDIR)/include/fsclient .
    1.58 -CONTRIB_INCDIR		= libfsclient_minimal
    1.59 +PRIVATE_INCDIR	+= $(PKGDIR)/include/fsclient $(IDL_BUILD_DIR) $(IDL_CLIENT_INCDIR)
    1.60 +CONTRIB_INCDIR	= libfsclient_minimal
    1.61  
    1.62  include $(L4DIR)/mk/lib.mk
    1.63 -
    1.64 -
    1.65 -
    1.66 -# Extra rule to generate files from the interface description.
    1.67 -
    1.68 -IDL_PROG		= $(L4DIR)/tool/bin/idl
    1.69 -
    1.70 -$(COMMON_CLIENT): $(COMMON_IDL)
    1.71 -	$(IDL_PROG) -d . --client $(COMMON_IDL)
    1.72 +include $(IDL_MK_DIR)/interface_rules.mk