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@181 | 9 | IDL_DIR = $(PKGDIR)/../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@462 | 16 | # Required interfaces. |
paul@94 | 17 | |
paul@124 | 18 | CLIENT_INTERFACES_CC = notifier |
paul@124 | 19 | |
paul@462 | 20 | SERVER_INTERFACES_CC = \ |
paul@462 | 21 | directory_object \ |
paul@462 | 22 | filesystem_object \ |
paul@462 | 23 | mapped_file_object \ |
paul@462 | 24 | opener_context_object \ |
paul@462 | 25 | pipe_object \ |
paul@462 | 26 | opener \ |
paul@462 | 27 | pipe_opener \ |
paul@94 | 28 | |
paul@94 | 29 | # Generated and plain source files. |
paul@94 | 30 | |
paul@124 | 31 | CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) |
paul@124 | 32 | |
paul@462 | 33 | SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC)) |
paul@94 | 34 | |
paul@94 | 35 | PLAIN_SRC_CC = \ |
paul@202 | 36 | directories/directory_accessor.cc \ |
paul@202 | 37 | directories/directory_provider.cc \ |
paul@202 | 38 | directories/directory_resource.cc \ |
paul@202 | 39 | directories/ext2_directory_accessor.cc \ |
paul@202 | 40 | directories/host_directory_accessor.cc \ |
paul@94 | 41 | files/block_file_accessor.cc \ |
paul@94 | 42 | files/block_file_opener.cc \ |
paul@106 | 43 | files/ext2_file_accessor.cc \ |
paul@106 | 44 | files/ext2_file_opener.cc \ |
paul@148 | 45 | files/ext2_file_operations.cc \ |
paul@144 | 46 | files/ext2_filesystem.cc \ |
paul@236 | 47 | files/file_opening.cc \ |
paul@94 | 48 | files/file_pager.cc \ |
paul@200 | 49 | files/file_provider.cc \ |
paul@144 | 50 | files/filesystem_resource.cc \ |
paul@94 | 51 | files/host_file_accessor.cc \ |
paul@94 | 52 | files/host_file_opener.cc \ |
paul@94 | 53 | files/opener_context_resource.cc \ |
paul@94 | 54 | files/opener_resource.cc \ |
paul@94 | 55 | files/test_file_accessor.cc \ |
paul@94 | 56 | files/test_file_opener.cc \ |
paul@94 | 57 | generic/accessor.cc \ |
paul@197 | 58 | generic/accountable.cc \ |
paul@224 | 59 | generic/provider_registry.cc \ |
paul@224 | 60 | generic/resource_registry.cc \ |
paul@133 | 61 | generic/notification.cc \ |
paul@94 | 62 | generic/pager.cc \ |
paul@219 | 63 | generic/provider.cc \ |
paul@94 | 64 | generic/simple_pager.cc \ |
paul@94 | 65 | mapping/access_map.cc \ |
paul@342 | 66 | mapping/copied_page_mapper.cc \ |
paul@342 | 67 | mapping/generic_page_mapper.cc \ |
paul@342 | 68 | mapping/masked_page_mapper.cc \ |
paul@94 | 69 | mapping/page_mapper.cc \ |
paul@94 | 70 | pages/page_queue.cc \ |
paul@94 | 71 | pages/page_queue_partitioned.cc \ |
paul@94 | 72 | pages/page_queue_shared.cc \ |
paul@94 | 73 | pages/pages.cc \ |
paul@94 | 74 | pipes/pipe_accessor.cc \ |
paul@94 | 75 | pipes/pipe_opener_resource.cc \ |
paul@94 | 76 | pipes/pipe_pager.cc \ |
paul@94 | 77 | pipes/pipe_paging.cc |
paul@94 | 78 | |
paul@94 | 79 | # Normal definitions. |
paul@94 | 80 | |
paul@94 | 81 | SRC_CC = \ |
paul@124 | 82 | $(CLIENT_INTERFACES_SRC_CC) \ |
paul@94 | 83 | $(SERVER_INTERFACES_SRC_CC) \ |
paul@94 | 84 | $(PLAIN_SRC_CC) |
paul@94 | 85 | |
paul@106 | 86 | REQUIRES_LIBS = \ |
paul@106 | 87 | l4re_c-util libmem libipc libstdc++ libsystypes libfsclient \ |
paul@535 | 88 | libresource libext2fs libext2fs_blockserver libe2access \ |
paul@535 | 89 | libe2access_blockserver |
paul@94 | 90 | |
paul@94 | 91 | PRIVATE_INCDIR = $(PKGDIR)/include $(PKGDIR)/include/fsserver \ |
paul@94 | 92 | $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) |
paul@94 | 93 | |
paul@94 | 94 | CONTRIB_INCDIR = libfsserver |
paul@94 | 95 | |
paul@94 | 96 | include $(L4DIR)/mk/lib.mk |
paul@94 | 97 | include $(IDL_MK_DIR)/interface_rules.mk |
paul@94 | 98 | |
paul@124 | 99 | $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC) |
paul@124 | 100 | |
paul@94 | 101 | $(PLAIN_SRC_CC): $(SERVER_INTERFACES_SRC_CC) |