r15328: Move some functions around, remove dependencies.
[samba.git] / source / librpc / config.mk
index 55b59cbb2620b60c1e5c2915cb74837baa39193a..57d6ddfbb341c8f4212e793aebe399bdf2d77b35 100644 (file)
 ################################################
 # Start SUBSYSTEM LIBNDR
 [LIBRARY::LIBNDR]
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
-RELEASE_VERSION = 1
+VERSION = 0.0.1
+SO_VERSION = 0
 DESCRIPTION = Network Data Representation Core Library
 PUBLIC_HEADERS = ndr/libndr.h
-PRIVATE_PROTO_HEADER = ndr/libndr_proto.h
+PUBLIC_PROTO_HEADER = ndr/libndr_proto.h
 OBJ_FILES = \
                ndr/ndr.o \
                ndr/ndr_basic.o \
                ndr/ndr_string.o \
-               ndr/ndr_obfuscate.o \
                ndr/ndr_misc.o
-REQUIRED_SUBSYSTEMS = LIBCLI_UTILS LIBTALLOC 
+PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBTALLOC LIBSAMBA-UTIL CHARSET
 # End SUBSYSTEM LIBNDR
 ################################################
 
 ################################################
 # Start SUBSYSTEM NDR_COMPRESSION
-[SUBSYSTEM::NDR_COMPRESSION]
+[LIBRARY::NDR_COMPRESSION]
+VERSION = 0.0.1
+SO_VERSION = 0
+DESCRIPTION = NDR support for compressed subcontexts
+PRIVATE_PROTO_HEADER = ndr/ndr_compression.h
 OBJ_FILES = \
                ndr/ndr_compression.o
-REQUIRED_SUBSYSTEMS = LIBCOMPRESSION
+PUBLIC_DEPENDENCIES = LIBCOMPRESSION
 # End SUBSYSTEM NDR_COMPRESSION
 ################################################
 
-[SUBSYSTEM::NDR_SECURITY_HELPER]
-OBJ_FILES = ndr/ndr_sec_helper.o ndr/ndr_sec.o
+[LIBRARY::NDR_SECURITY]
+VERSION = 0.0.1
+SO_VERSION = 0
+OBJ_FILES = gen_ndr/ndr_security.o ndr/ndr_sec_helper.o 
+PUBLIC_HEADERS = gen_ndr/security.h
+PUBLIC_DEPENDENCIES = NDR_MISC LIBSECURITY
 
-[SUBSYSTEM::NDR_SECURITY]
-OBJ_FILES = gen_ndr/ndr_security.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = NDR_SECURITY_HELPER
-
-[SUBSYSTEM::NDR_AUDIOSRV]
+[LIBRARY::NDR_AUDIOSRV]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_audiosrv.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_DNSSERVER]
+[LIBRARY::NDR_DNSSERVER]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dnsserver.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_WINSTATION]
+[LIBRARY::NDR_WINSTATION]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_winstation.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
-
-[SUBSYSTEM::NDR_DCERPC]
-OBJ_FILES = gen_ndr/ndr_dcerpc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
 [SUBSYSTEM::NDR_ECHO]
 OBJ_FILES = gen_ndr/ndr_echo.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_IRPC]
+[LIBRARY::NDR_IRPC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_irpc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
-
-[SUBSYSTEM::NDR_EXCHANGE]
-OBJ_FILES = gen_ndr/ndr_exchange.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
-[SUBSYSTEM::NDR_DSBACKUP]
+[LIBRARY::NDR_DSBACKUP]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dsbackup.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_EFS]
+[LIBRARY::NDR_EFS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_efs.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
 [SUBSYSTEM::NDR_MISC]
 OBJ_FILES = gen_ndr/ndr_misc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_HEADERS = gen_ndr/misc.h gen_ndr/ndr_misc.h
+PUBLIC_DEPENDENCIES = LIBNDR
 
 [SUBSYSTEM::NDR_ROT]
 OBJ_FILES = gen_ndr/ndr_rot.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_LSA]
+[LIBRARY::NDR_LSA]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_lsa.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_HEADERS = gen_ndr/lsa.h
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
-[SUBSYSTEM::NDR_DFS]
+[LIBRARY::NDR_DFS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dfs.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_DRSUAPI]
-OBJ_FILES = gen_ndr/ndr_drsuapi.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_DRSUAPI_PRINT NDR_COMPRESSION NDR_SECURITY
+[LIBRARY::NDR_DRSUAPI]
+VERSION = 0.0.1
+SO_VERSION = 0
+OBJ_FILES = gen_ndr/ndr_drsuapi.o ndr/ndr_drsuapi.o
+PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY
 
-[SUBSYSTEM::NDR_DRSUAPI_PRINT]
-OBJ_FILES = ndr/ndr_drsuapi.o
-
-[SUBSYSTEM::NDR_DRSBLOBS]
+[LIBRARY::NDR_DRSBLOBS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_drsblobs.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
+
+[SUBSYSTEM::NDR_SASL_HELPERS]
+OBJ_FILES = gen_ndr/ndr_sasl_helpers.o
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_POLICYAGENT]
+[LIBRARY::NDR_POLICYAGENT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_policyagent.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_UNIXINFO]
+[LIBRARY::NDR_UNIXINFO]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_unixinfo.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
 
-[SUBSYSTEM::NDR_SAMR]
+[LIBRARY::NDR_SAMR]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_samr.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_LSA
+PUBLIC_HEADERS = gen_ndr/samr.h
+PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_LSA NDR_SECURITY
 
-[SUBSYSTEM::NDR_SPOOLSS]
+[LIBRARY::NDR_SPOOLSS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_spoolss.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_SPOOLSS_BUF
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SPOOLSS_BUF
 
 [SUBSYSTEM::NDR_SPOOLSS_BUF]
+PRIVATE_PROTO_HEADER = ndr/ndr_spoolss_buf.h
 OBJ_FILES = ndr/ndr_spoolss_buf.o
 
-[SUBSYSTEM::NDR_WKSSVC]
+[LIBRARY::NDR_WKSSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_wkssvc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_SRVSVC]
+[LIBRARY::NDR_SRVSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_srvsvc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_SVCCTL
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SVCCTL
 
-[SUBSYSTEM::NDR_SVCCTL]
+[LIBRARY::NDR_SVCCTL]
+VERSION = 0.0.1
+PUBLIC_HEADERS = gen_ndr/svcctl.h
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_svcctl.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_ATSVC]
+[LIBRARY::NDR_ATSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_atsvc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_EVENTLOG]
+[LIBRARY::NDR_EVENTLOG]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_eventlog.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_EPMAPPER]
+[LIBRARY::NDR_EPMAPPER]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_epmapper.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_DBGIDL]
+[LIBRARY::NDR_DBGIDL]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dbgidl.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_DSSETUP]
+[LIBRARY::NDR_DSSETUP]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dssetup.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_MSGSVC]
+[LIBRARY::NDR_MSGSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_msgsvc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_WINS]
+[LIBRARY::NDR_WINS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_wins.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_WINREG]
+[LIBRARY::NDR_WINREG]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_winreg.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_INITSHUTDOWN
+PUBLIC_DEPENDENCIES = LIBNDR NDR_INITSHUTDOWN
 
-[SUBSYSTEM::NDR_INITSHUTDOWN]
+[LIBRARY::NDR_INITSHUTDOWN]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_initshutdown.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_MGMT]
+[LIBRARY::NDR_MGMT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_mgmt.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_PROTECTED_STORAGE]
+[LIBRARY::NDR_PROTECTED_STORAGE]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_protected_storage.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
 [SUBSYSTEM::NDR_DCOM]
 OBJ_FILES = gen_ndr/ndr_dcom.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC
+PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC
 
 [SUBSYSTEM::NDR_ORPC_MANUAL]
+PRIVATE_PROTO_HEADER = ndr/ndr_orpc.h
 OBJ_FILES = ndr/ndr_orpc.o 
 
 [SUBSYSTEM::NDR_ORPC]
 OBJ_FILES = gen_ndr/ndr_orpc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC_MANUAL
+PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC_MANUAL
 
-[SUBSYSTEM::NDR_OXIDRESOLVER]
+[LIBRARY::NDR_OXIDRESOLVER]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_oxidresolver.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC
+PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC
 
-[SUBSYSTEM::NDR_REMACT]
+[LIBRARY::NDR_REMACT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_remact.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_ORPC
+PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC
 
-[SUBSYSTEM::NDR_WZCSVC]
+[LIBRARY::NDR_WZCSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_wzcsvc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_BROWSER]
+[LIBRARY::NDR_BROWSER]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_browser.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_W32TIME]
+[LIBRARY::NDR_W32TIME]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_w32time.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_SCERPC]
+[LIBRARY::NDR_SCERPC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_scerpc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_NTSVCS]
+[LIBRARY::NDR_NTSVCS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_ntsvcs.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_NETLOGON]
+[LIBRARY::NDR_NETLOGON]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_netlogon.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_SAMR NDR_LSA
+PUBLIC_HEADERS = gen_ndr/netlogon.h
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SAMR NDR_LSA NDR_SECURITY
 
-[SUBSYSTEM::NDR_TRKWKS]
+[LIBRARY::NDR_TRKWKS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_trkwks.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
-[SUBSYSTEM::NDR_KEYSVC]
+[LIBRARY::NDR_KEYSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_keysvc.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR
 
 [SUBSYSTEM::NDR_KRB5PAC]
-OBJ_FILES = gen_ndr/ndr_krb5pac.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_KRB5PAC_UTIL NDR_NETLOGON
+OBJ_FILES = gen_ndr/ndr_krb5pac.o ndr/ndr_krb5pac.o
+PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON NDR_SECURITY
 
-[SUBSYSTEM::NDR_KRB5PAC_UTIL]
-OBJ_FILES = ndr/ndr_krb5pac.o
-
-[SUBSYSTEM::NDR_XATTR]
+[LIBRARY::NDR_XATTR]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_xattr.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY
+
+[SUBSYSTEM::NDR_OPENDB]
+OBJ_FILES = gen_ndr/ndr_opendb.o
+PUBLIC_DEPENDENCIES = LIBNDR
+
+[SUBSYSTEM::NDR_NOTIFY]
+OBJ_FILES = gen_ndr/ndr_notify.o
+PUBLIC_DEPENDENCIES = LIBNDR
 
 [SUBSYSTEM::NDR_SCHANNEL]
 OBJ_FILES = gen_ndr/ndr_schannel.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR
+PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT
 
 [SUBSYSTEM::NDR_NBT]
 OBJ_FILES = gen_ndr/ndr_nbt.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_MISC NDR_NBT_BUF
+PUBLIC_HEADERS = gen_ndr/nbt.h
+PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY
 
-[SUBSYSTEM::NDR_WINSREPL]
+[LIBRARY::NDR_WINSREPL]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_winsrepl.o
-NOPROTO = YES
-REQUIRED_SUBSYSTEMS = LIBNDR NDR_NBT
-
-librpc/gen_ndr/tables.c: librpc/gen_ndr/ndr_*.h
-       @$(PERL) librpc/tables.pl --output=librpc/gen_ndr/tables.c \
-                                                                       librpc/gen_ndr/ndr_*.h
+PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT
 
-[SUBSYSTEM::NDR_IFACE_TABLE]
-OBJ_FILES = gen_ndr/tables.o
-NOPROTO = YES
+librpc/gen_ndr/tables.c: $(IDL_NDR_PARSE_H_FILES)
+       @echo Generating librpc/gen_ndr/tables.c
+       @$(PERL) $(srcdir)/librpc/tables.pl --output=librpc/gen_ndr/tables.c $(IDL_NDR_PARSE_H_FILES) > librpc/gen_ndr/tables.x
+       mv librpc/gen_ndr/tables.x librpc/gen_ndr/tables.c
 
-[SUBSYSTEM::NDR_ALL]
-OBJ_FILES = rpc/table.o 
+[LIBRARY::NDR_TABLE]
+VERSION = 0.0.1
+SO_VERSION = 0
+OBJ_FILES = rpc/table.o gen_ndr/tables.o
 PRIVATE_PROTO_HEADER = rpc/dcerpc_table.h
-REQUIRED_SUBSYSTEMS = NDR_IFACE_TABLE NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
+PUBLIC_DEPENDENCIES = \
+       NDR_AUDIOSRV NDR_ECHO NDR_DCERPC \
        NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_DFS NDR_DRSUAPI \
        NDR_POLICYAGENT NDR_UNIXINFO NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \
        NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \
@@ -315,212 +352,236 @@ REQUIRED_SUBSYSTEMS = NDR_IFACE_TABLE NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHA
        NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \
        NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \
        NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL NDR_SECURITY \
-       NDR_INITSHUTDOWN NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_DCOM
+       NDR_INITSHUTDOWN NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_DCOM NDR_OPENDB \
+       NDR_SASL_HELPERS NDR_NOTIFY
 
-[SUBSYSTEM::RPC_NDR_ROT]
+[LIBRARY::RPC_NDR_ROT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_rot_c.o
-REQUIRED_SUBSYSTEMS = NDR_ROT LIBDCERPC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = NDR_ROT dcerpc
 
-[SUBSYSTEM::RPC_NDR_AUDIOSRV]
+[LIBRARY::RPC_NDR_AUDIOSRV]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_audiosrv_c.o
-REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV LIBDCERPC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = NDR_AUDIOSRV dcerpc
 
-[SUBSYSTEM::RPC_NDR_ECHO]
+[LIBRARY::RPC_NDR_ECHO]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_echo_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_ECHO
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_ECHO
 
-[SUBSYSTEM::RPC_NDR_EXCHANGE]
-OBJ_FILES = gen_ndr/ndr_exchange_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_EXCHANGE
-NOPROTO = YES
-
-[SUBSYSTEM::RPC_NDR_DSBACKUP]
+[LIBRARY::RPC_NDR_DSBACKUP]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dsbackup_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DSBACKUP
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_DSBACKUP
 
-[SUBSYSTEM::RPC_NDR_EFS]
+[LIBRARY::RPC_NDR_EFS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_efs_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_EFS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_EFS
 
-[SUBSYSTEM::RPC_NDR_LSA]
+[LIBRARY::RPC_NDR_LSA]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_lsa_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_LSA
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_LSA
 
-[SUBSYSTEM::RPC_NDR_DFS]
+[LIBRARY::RPC_NDR_DFS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dfs_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DFS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_DFS
 
-[SUBSYSTEM::RPC_NDR_DRSUAPI]
+[LIBRARY::RPC_NDR_DRSUAPI]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_drsuapi_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DRSUAPI
-NOPROTO = YES
-
-[SUBSYSTEM::RPC_NDR_DRSBLOBS]
-OBJ_FILES = gen_ndr/ndr_drsblobs_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DRSBLOBS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_DRSUAPI
 
-[SUBSYSTEM::RPC_NDR_POLICYAGENT]
+[LIBRARY::RPC_NDR_POLICYAGENT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_policyagent_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_POLICYAGENT
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_POLICYAGENT
 
-[SUBSYSTEM::RPC_NDR_UNIXINFO]
+[LIBRARY::RPC_NDR_UNIXINFO]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_unixinfo_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_UNIXINFO
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_UNIXINFO
 
-[SUBSYSTEM::RPC_NDR_SAMR]
+[LIBRARY::RPC_NDR_SAMR]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_samr_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SAMR
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_SAMR 
 
-[SUBSYSTEM::RPC_NDR_SPOOLSS]
+[LIBRARY::RPC_NDR_SPOOLSS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_spoolss_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SPOOLSS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_SPOOLSS
 
-[SUBSYSTEM::RPC_NDR_WKSSVC]
+[LIBRARY::RPC_NDR_WKSSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_wkssvc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_WKSSVC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_WKSSVC
 
-[SUBSYSTEM::RPC_NDR_SRVSVC]
+[LIBRARY::RPC_NDR_SRVSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_srvsvc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SRVSVC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_SRVSVC
 
-[SUBSYSTEM::RPC_NDR_SVCCTL]
+[LIBRARY::RPC_NDR_SVCCTL]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_svcctl_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SVCCTL
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_SVCCTL
 
-[SUBSYSTEM::RPC_NDR_ATSVC]
+[LIBRARY::RPC_NDR_ATSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_atsvc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_ATSVC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_ATSVC
 
-[SUBSYSTEM::RPC_NDR_EVENTLOG]
+[LIBRARY::RPC_NDR_EVENTLOG]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_eventlog_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_EVENTLOG
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_EVENTLOG
 
-[SUBSYSTEM::RPC_NDR_EPMAPPER]
+[LIBRARY::RPC_NDR_EPMAPPER]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_epmapper_c.o
-REQUIRED_SUBSYSTEMS = NDR_EPMAPPER
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = NDR_EPMAPPER
 
-[SUBSYSTEM::RPC_NDR_DBGIDL]
+[LIBRARY::RPC_NDR_DBGIDL]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dbgidl_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DBGIDL
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_DBGIDL
 
-[SUBSYSTEM::RPC_NDR_DSSETUP]
+[LIBRARY::RPC_NDR_DSSETUP]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_dssetup_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DSSETUP
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_DSSETUP
 
-[SUBSYSTEM::RPC_NDR_MSGSVC]
+[LIBRARY::RPC_NDR_MSGSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_msgsvc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_MSGSVC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_MSGSVC
 
-[SUBSYSTEM::RPC_NDR_WINS]
+[LIBRARY::RPC_NDR_WINS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_wins_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_WINS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_WINS
 
-[SUBSYSTEM::RPC_NDR_WINREG]
+[LIBRARY::RPC_NDR_WINREG]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_winreg_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_WINREG
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_WINREG
 
-[SUBSYSTEM::RPC_NDR_INITSHUTDOWN]
+[LIBRARY::RPC_NDR_INITSHUTDOWN]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_initshutdown_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_INITSHUTDOWN
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN
 
-[SUBSYSTEM::RPC_NDR_MGMT]
+[LIBRARY::RPC_NDR_MGMT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_mgmt_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_MGMT
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_MGMT
 
-[SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE]
+[LIBRARY::RPC_NDR_PROTECTED_STORAGE]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_protected_storage_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_PROTECTED_STORAGE
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_PROTECTED_STORAGE
 
 [SUBSYSTEM::DCOM_PROXY_DCOM]
 OBJ_FILES = gen_ndr/ndr_dcom_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DCOM
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_DCOM
 
-[SUBSYSTEM::RPC_NDR_OXIDRESOLVER]
+[LIBRARY::RPC_NDR_OXIDRESOLVER]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_oxidresolver_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_OXIDRESOLVER
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_OXIDRESOLVER
 
-[SUBSYSTEM::RPC_NDR_REMACT]
+[LIBRARY::RPC_NDR_REMACT]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_remact_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_REMACT
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_REMACT
 
-[SUBSYSTEM::RPC_NDR_WZCSVC]
+[LIBRARY::RPC_NDR_WZCSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_wzcsvc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_WZCSVC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_WZCSVC
 
-[SUBSYSTEM::RPC_NDR_BROWSER]
-OBJ_FILES = gen_ndr/ndr_browser_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_BROWSER
-NOPROTO = YES
-
-[SUBSYSTEM::RPC_NDR_W32TIME]
+[LIBRARY::RPC_NDR_W32TIME]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_w32time_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_W32TIME
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_W32TIME
 
-[SUBSYSTEM::RPC_NDR_SCERPC]
+[LIBRARY::RPC_NDR_SCERPC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_scerpc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SCERPC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_SCERPC
 
-[SUBSYSTEM::RPC_NDR_NTSVCS]
+[LIBRARY::RPC_NDR_NTSVCS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_ntsvcs_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_NTSVCS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_NTSVCS
 
-[SUBSYSTEM::RPC_NDR_NETLOGON]
+[LIBRARY::RPC_NDR_NETLOGON]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_netlogon_c.o
-REQUIRED_SUBSYSTEMS = NDR_NETLOGON
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = NDR_NETLOGON
 
-[SUBSYSTEM::RPC_NDR_TRKWKS]
+[LIBRARY::RPC_NDR_TRKWKS]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_trkwks_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_TRKWKS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_TRKWKS
 
-[SUBSYSTEM::RPC_NDR_KEYSVC]
+[LIBRARY::RPC_NDR_KEYSVC]
+VERSION = 0.0.1
+SO_VERSION = 0
 OBJ_FILES = gen_ndr/ndr_keysvc_c.o
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_KEYSVC
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_KEYSVC
+
+[SUBSYSTEM::NDR_DCERPC]
+OBJ_FILES = gen_ndr/ndr_dcerpc.o
+PUBLIC_DEPENDENCIES = LIBNDR NDR_MISC
+PUBLIC_HEADERS = gen_ndr/dcerpc.h gen_ndr/ndr_dcerpc.h
 
 ################################################
-# Start SUBSYSTEM LIBDCERPC
-[LIBRARY::LIBDCERPC]
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
+# Start SUBSYSTEM dcerpc
+[LIBRARY::dcerpc]
+VERSION = 0.0.1
+SO_VERSION = 0
 DESCRIPTION = DCE/RPC client library
-RELEASE_VERSION = 1
 PUBLIC_HEADERS = rpc/dcerpc.h
-PRIVATE_PROTO_HEADER = rpc/dcerpc_proto.h
+PUBLIC_PROTO_HEADER = rpc/dcerpc_proto.h
 OBJ_FILES = \
                rpc/dcerpc.o \
                rpc/dcerpc_auth.o \
@@ -531,119 +592,109 @@ OBJ_FILES = \
                rpc/dcerpc_smb2.o \
                rpc/dcerpc_sock.o \
                rpc/dcerpc_connect.o
-REQUIRED_SUBSYSTEMS = SOCKET LIBNDR LIBSMB NDR_MISC NDR_DCERPC NDR_SCHANNEL NDR_LSA NDR_NETLOGON NDR_SAMR NDR_UNIXINFO RPC_NDR_NETLOGON RPC_NDR_EPMAPPER GENSEC
-# End SUBSYSTEM LIBDCERPC
+PUBLIC_DEPENDENCIES = \
+               SOCKET LIBCLI_RESOLVE LIBSMB LIBCLI_SMB2 \
+               LIBNDR NDR_DCERPC \
+               RPC_NDR_EPMAPPER \
+               NDR_SCHANNEL RPC_NDR_NETLOGON \
+               gensec LIBCLI_AUTH LIBCLI_RAW
+# End SUBSYSTEM dcerpc
 ################################################
 
 [MODULE::RPC_EJS_ECHO]
 INIT_FUNCTION = ejs_init_rpcecho
 OBJ_FILES = gen_ndr/ndr_echo_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_ECHO
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_ECHO EJSRPC
 
 [MODULE::RPC_EJS_MISC]
 INIT_FUNCTION = ejs_init_misc
 OBJ_FILES = gen_ndr/ndr_misc_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_MISC
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_MISC EJSRPC
 
 [MODULE::RPC_EJS_SAMR]
 INIT_FUNCTION = ejs_init_samr
 OBJ_FILES = gen_ndr/ndr_samr_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SAMR
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_SAMR EJSRPC RPC_EJS_LSA RPC_EJS_SECURITY RPC_EJS_MISC
 
 [MODULE::RPC_EJS_SECURITY]
 INIT_FUNCTION = ejs_init_security
 OBJ_FILES = gen_ndr/ndr_security_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SECURITY
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_SECURITY EJSRPC
 
 [MODULE::RPC_EJS_LSA]
 INIT_FUNCTION = ejs_init_lsarpc
 OBJ_FILES = gen_ndr/ndr_lsa_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_LSA
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_LSA EJSRPC RPC_EJS_SECURITY RPC_EJS_MISC
 
 [MODULE::RPC_EJS_DFS]
 INIT_FUNCTION = ejs_init_netdfs
 OBJ_FILES = gen_ndr/ndr_dfs_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DFS
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_DFS EJSRPC
 
 [MODULE::RPC_EJS_DRSUAPI]
 INIT_FUNCTION = ejs_init_drsuapi
 OBJ_FILES = gen_ndr/ndr_drsuapi_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_DRSUAPI
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_DRSUAPI EJSRPC RPC_EJS_MISC
 
 [MODULE::RPC_EJS_SPOOLSS]
 INIT_FUNCTION = ejs_init_spoolss
 OBJ_FILES = gen_ndr/ndr_spoolss_ejs.o
-SUBSYSTEM = SMBCALLS
+SUBSYSTEM = smbcalls
 ENABLE = NO
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SPOOLSS
-NOPROTO = YES
+PUBLIC_DEPENDENCIES = dcerpc NDR_SPOOLSS EJSRPC
 
 [MODULE::RPC_EJS_WKSSVC]
 INIT_FUNCTION = ejs_init_wkssvc
 OBJ_FILES = gen_ndr/ndr_wkssvc_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_WKSSVC
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_WKSSVC EJSRPC RPC_EJS_SRVSVC RPC_EJS_MISC
 
 [MODULE::RPC_EJS_SRVSVC]
 INIT_FUNCTION = ejs_init_srvsvc
 OBJ_FILES = gen_ndr/ndr_srvsvc_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SRVSVC
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_SRVSVC EJSRPC RPC_EJS_MISC RPC_EJS_SVCCTL
 
 [MODULE::RPC_EJS_EVENTLOG]
 INIT_FUNCTION = ejs_init_eventlog
 OBJ_FILES = gen_ndr/ndr_eventlog_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_EVENTLOG
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_EVENTLOG EJSRPC RPC_EJS_MISC
 
 [MODULE::RPC_EJS_WINREG]
 INIT_FUNCTION = ejs_init_winreg
 OBJ_FILES = gen_ndr/ndr_winreg_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_WINREG
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_WINREG EJSRPC RPC_EJS_INITSHUTDOWN \
+                                         RPC_EJS_MISC RPC_EJS_SECURITY
 
 [MODULE::RPC_EJS_INITSHUTDOWN]
 INIT_FUNCTION = ejs_init_initshutdown
 OBJ_FILES = gen_ndr/ndr_initshutdown_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_INITSHUTDOWN
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN EJSRPC
 
 [MODULE::RPC_EJS_NETLOGON]
 INIT_FUNCTION = ejs_init_netlogon
 OBJ_FILES = gen_ndr/ndr_netlogon_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_NETLOGON
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_NETLOGON EJSRPC RPC_EJS_SAMR RPC_EJS_SECURITY RPC_EJS_MISC
 
 [MODULE::RPC_EJS_SVCCTL]
 INIT_FUNCTION = ejs_init_svcctl
 OBJ_FILES = gen_ndr/ndr_svcctl_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_SVCCTL
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_SVCCTL EJSRPC RPC_EJS_MISC
 
 [MODULE::RPC_EJS_IRPC]
 INIT_FUNCTION = ejs_init_irpc
 OBJ_FILES = gen_ndr/ndr_irpc_ejs.o
-SUBSYSTEM = SMBCALLS
-REQUIRED_SUBSYSTEMS = LIBDCERPC NDR_IRPC
-NOPROTO = YES
+SUBSYSTEM = smbcalls
+PUBLIC_DEPENDENCIES = dcerpc NDR_IRPC EJSRPC