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