1 PKGDIR ?= .. 2 L4DIR ?= $(PKGDIR)/../../.. 3 4 TARGET = libfsserver.so libfsserver.a 5 PC_FILENAME = libfsserver 6 7 # Locations for interface input and generated output. 8 9 IDL_DIR = $(L4DIR)/pkg/libsystypes/idl 10 IDL_MK_DIR = $(L4DIR)/idl4re/mk 11 IDL_BUILD_DIR = . 12 IDL_EXPORT_DIR = $(OBJ_BASE)/include/contrib/$(CONTRIB_INCDIR)/fsserver 13 14 include $(IDL_MK_DIR)/idl.mk 15 16 # Compound interfaces. 17 18 mapped_file_object_NAME = MappedFileObject 19 mapped_file_object_INTERFACES = dataspace file mapped_file 20 21 opener_context_object_NAME = OpenerContextObject 22 opener_context_object_INTERFACES = dataspace opener_context 23 24 pipe_object_NAME = PipeObject 25 pipe_object_INTERFACES = dataspace pipe 26 27 COMP_INTERFACES_CC = mapped_file_object opener_context_object pipe_object 28 29 # Individual interfaces. 30 31 SERVER_INTERFACES_CC = opener pipe_opener $(call common_interfaces,$(COMP_INTERFACES_CC)) 32 33 # Generated and plain source files. 34 35 SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC) $(COMP_INTERFACES_CC)) 36 37 PLAIN_SRC_CC = \ 38 files/block_file_accessor.cc \ 39 files/block_file_opener.cc \ 40 files/file_pager.cc \ 41 files/file_paging.cc \ 42 files/host_file_accessor.cc \ 43 files/host_file_opener.cc \ 44 files/opener_context_resource.cc \ 45 files/opener_resource.cc \ 46 files/test_file_accessor.cc \ 47 files/test_file_opener.cc \ 48 generic/accessor.cc \ 49 generic/pager.cc \ 50 generic/resource_server.cc \ 51 generic/simple_pager.cc \ 52 mapping/access_map.cc \ 53 mapping/ipc.cc \ 54 mapping/page_mapper.cc \ 55 pages/page_queue.cc \ 56 pages/page_queue_partitioned.cc \ 57 pages/page_queue_shared.cc \ 58 pages/pages.cc \ 59 pipes/pipe_accessor.cc \ 60 pipes/pipe_opener_resource.cc \ 61 pipes/pipe_pager.cc \ 62 pipes/pipe_paging.cc 63 64 # Normal definitions. 65 66 SRC_CC = \ 67 $(SERVER_INTERFACES_SRC_CC) \ 68 $(PLAIN_SRC_CC) 69 70 REQUIRES_LIBS = l4re_c-util libmem libipc libstdc++ libsystypes 71 72 PRIVATE_INCDIR = $(PKGDIR)/include $(PKGDIR)/include/fsserver \ 73 $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) 74 75 CONTRIB_INCDIR = libfsserver 76 77 include $(L4DIR)/mk/lib.mk 78 include $(IDL_MK_DIR)/interface_rules.mk 79 80 $(PLAIN_SRC_CC): $(SERVER_INTERFACES_SRC_CC)