1 PKGDIR ?= ../.. 2 L4DIR ?= $(PKGDIR)/../../.. 3 4 TARGET = libexec.a libexec.so 5 PC_FILENAME = libexec 6 7 # Locations for interface input and generated output. 8 9 IDL_DIR = $(PKGDIR)/../libsystypes/idl 10 IDL_MK_DIR = $(L4DIR)/idl4re/mk 11 IDL_BUILD_DIR = . 12 IDL_EXPORT_DIR = . 13 14 include $(IDL_MK_DIR)/idl.mk 15 16 # Compound interfaces. 17 18 pager_object_NAME = PagerObject 19 pager_object_INTERFACES = region_mapper system_pager 20 21 COMP_INTERFACES_CC = pager_object 22 23 # Individual interfaces. 24 25 CLIENT_INTERFACES_CC = dataspace mapped_file 26 27 SERVER_INTERFACES_CC = $(call common_interfaces,$(COMP_INTERFACES_CC)) 28 29 # Generated and plain source files. 30 31 CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) 32 33 SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC) $(COMP_INTERFACES_CC)) 34 35 # Normal source files. 36 37 PLAIN_SRC_CC = \ 38 common.cc elf.cc external_pager.cc \ 39 internal_pager.cc memory.cc pager.cc \ 40 process.cc segment.cc stack.cc 41 42 # Normal definitions. 43 44 SRC_CC = \ 45 $(CLIENT_INTERFACES_SRC_CC) \ 46 $(SERVER_INTERFACES_SRC_CC) \ 47 $(PLAIN_SRC_CC) 48 49 REQUIRES_LIBS = l4re_c-util libmem libipc libstdc++ libsystypes libfsclient 50 51 PRIVATE_INCDIR = $(PKGDIR)/include/exec $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) 52 53 CONTRIB_INCDIR = libexec 54 55 include $(L4DIR)/mk/lib.mk 56 include $(IDL_MK_DIR)/interface_rules.mk 57 58 $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC) 59 60 $(PLAIN_SRC_CC): $(SERVER_INTERFACES_SRC_CC)