Move object file lists to the Makefile.
[samba.git] / source4 / lib / registry / config.mk
index 82309ad470107c1ced36eb5b9aae0ffaf9157242..728d64d552b73eb376cf51e4bb0f2bf938decede 100644 (file)
-# Registry backends
-
-################################################
-# Start MODULE registry_nt4
-[MODULE::registry_nt4]
-INIT_FUNCTION = registry_nt4_init
-SUBSYSTEM = REGISTRY
-OBJ_FILES = \
-               reg_backend_nt4.o
-REQUIRED_SUBSYSTEMS = TDR_REGF
-# End MODULE registry_nt4
-################################################
-
 [SUBSYSTEM::TDR_REGF]
-REQUIRED_SUBSYSTEMS = TDR 
-NOPROTO = YES
-OBJ_FILES = tdr_regf.o
+PUBLIC_DEPENDENCIES = TDR 
 
-lib/registry/reg_backend_nt4.c: lib/registry/tdr_regf.c
-lib/registry/tdr_regf.c: lib/registry/regf.idl
-       @CPP="$(CPP)" $(PERL) pidl/pidl $(PIDL_ARGS) \
-               --header --outputdir=lib/registry \
-               --tdr-parser -- lib/registry/regf.idl
+TDR_REGF_OBJ_FILES = lib/registry/tdr_regf.o
 
-################################################
-# Start MODULE registry_w95
-[MODULE::registry_w95]
-INIT_FUNCTION = registry_w95_init
-SUBSYSTEM = REGISTRY
-OBJ_FILES = \
-               reg_backend_w95.o
-# End MODULE registry_w95
-################################################
+# Special support for external builddirs
+lib/registry/regf.c: lib/registry/tdr_regf.c
+$(srcdir)/lib/registry/regf.c: lib/registry/tdr_regf.c
+lib/registry/tdr_regf.h: lib/registry/tdr_regf.c
+lib/registry/tdr_regf.c: $(srcdir)/lib/registry/regf.idl
+       @CPP="$(CPP)" srcdir="$(srcdir)" $(PERL) $(srcdir)/pidl/pidl $(PIDL_ARGS) \
+               --header --outputdir=lib/registry \
+               --tdr-parser -- $(srcdir)/lib/registry/regf.idl
 
-################################################
-# Start MODULE registry_dir
-[MODULE::registry_dir]
-INIT_FUNCTION = registry_dir_init
-SUBSYSTEM = REGISTRY
-OBJ_FILES = \
-               reg_backend_dir.o
-# End MODULE registry_dir
-################################################
+clean::
+       @-rm -f lib/registry/regf.h lib/registry/tdr_regf*
 
 ################################################
-# Start MODULE registry_rpc
-[MODULE::registry_rpc]
-INIT_FUNCTION = registry_rpc_init
-OUTPUT_TYPE = MERGEDOBJ
-SUBSYSTEM = REGISTRY
-OBJ_FILES = \
-               reg_backend_rpc.o
-REQUIRED_SUBSYSTEMS = RPC_NDR_WINREG
-# End MODULE registry_rpc
+# Start SUBSYSTEM registry
+[LIBRARY::registry]
+VERSION = 0.0.1
+PC_FILE = registry.pc
+SO_VERSION = 0
+PUBLIC_DEPENDENCIES = \
+               LIBSAMBA-UTIL CHARSET TDR_REGF LIBLDB \
+               RPC_NDR_WINREG LDB_WRAP
+# End MODULE registry_ldb
 ################################################
 
+registry_OBJ_FILES = $(addprefix lib/registry/, interface.o util.o samba.o \
+                                       patchfile_dotreg.o patchfile_preg.o patchfile.o regf.o \
+                                       hive.o local.o ldb.o dir.o rpc.o)
 
+PUBLIC_HEADERS += $(addprefix lib/registry/, registry.h hive.h patchfile.h)
 
-################################################
-# Start MODULE registry_gconf
-[MODULE::registry_gconf]
-INIT_FUNCTION = registry_gconf_init
-SUBSYSTEM = REGISTRY
-OBJ_FILES = \
-               reg_backend_gconf.o
-REQUIRED_SUBSYSTEMS = EXT_LIB_gconf
-# End MODULE registry_gconf
-################################################
-
-################################################
-# Start MODULE registry_ldb
-[MODULE::registry_ldb]
-INIT_FUNCTION = registry_ldb_init
-SUBSYSTEM = REGISTRY
-OBJ_FILES = \
-               reg_backend_ldb.o
-REQUIRED_SUBSYSTEMS = \
-               LIBLDB
-# End MODULE registry_ldb
-################################################
+[SUBSYSTEM::registry_common]
+PUBLIC_DEPENDENCIES = registry
+PRIVATE_PROTO_HEADER = tools/common.h
 
-################################################
-# Start SUBSYSTEM REGISTRY
-[LIBRARY::REGISTRY]
-DEFAULT_VISIBILITY = hidden
-MAJOR_VERSION = 0
-MINOR_VERSION = 0
-DESCRIPTION = Windows-style registry library
-RELEASE_VERSION = 1
-OBJ_FILES = \
-               common/reg_interface.o \
-               common/reg_util.o \
-               reg_samba.o \
-               patchfile.o
-REQUIRED_SUBSYSTEMS = \
-               LIBBASIC
-PRIVATE_PROTO_HEADER = registry_proto.h
-PUBLIC_HEADERS = registry.h
-# End MODULE registry_ldb
-################################################
+registry_common_OBJ_FILES = lib/registry/tools/common.o
 
 ################################################
 # Start BINARY regdiff
 [BINARY::regdiff]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/regdiff.o
-REQUIRED_SUBSYSTEMS = \
-               CONFIG REGISTRY LIBPOPT POPT_SAMBA POPT_CREDENTIALS
-MANPAGE = man/regdiff.1
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-CONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS
 # End BINARY regdiff
 ################################################
 
+regdiff_OBJ_FILES = lib/registry/tools/regdiff.o
+
+MANPAGES += lib/registry/man/regdiff.1
+
 ################################################
 # Start BINARY regpatch
 [BINARY::regpatch]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/regpatch.o
-REQUIRED_SUBSYSTEMS = \
-               CONFIG REGISTRY LIBPOPT POPT_SAMBA POPT_CREDENTIALS
-MANPAGE = man/regpatch.1
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-CONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS \
+               registry_common
 # End BINARY regpatch
 ################################################
 
+regpatch_OBJ_FILES = lib/registry/tools/regpatch.o
+
+MANPAGES += lib/registry/man/regpatch.1
+
 ################################################
 # Start BINARY regshell
 [BINARY::regshell]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/regshell.o
-REQUIRED_SUBSYSTEMS = \
-               CONFIG LIBPOPT REGISTRY POPT_SAMBA POPT_CREDENTIALS LIBREADLINE
-MANPAGE = man/regshell.1
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-CONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS \
+               SMBREADLINE registry_common
 # End BINARY regshell
 ################################################
 
+regshell_OBJ_FILES = lib/registry/tools/regshell.o
+
+MANPAGES += lib/registry/man/regshell.1
+
 ################################################
 # Start BINARY regtree
 [BINARY::regtree]
 INSTALLDIR = BINDIR
-OBJ_FILES= \
-               tools/regtree.o
-REQUIRED_SUBSYSTEMS = \
-               CONFIG LIBPOPT REGISTRY POPT_SAMBA POPT_CREDENTIALS
-MANPAGE = man/regtree.1
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-CONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS \
+               registry_common
 # End BINARY regtree
 ################################################
+
+regtree_OBJ_FILES = lib/registry/tools/regtree.o
+
+MANPAGES += lib/registry/man/regtree.1
+
+[SUBSYSTEM::torture_registry]
+PRIVATE_DEPENDENCIES = registry
+PRIVATE_PROTO_HEADER = tests/proto.h
+
+torture_registry_OBJ_FILES = $(addprefix lib/registry/tests/, generic.o hive.o diff.o registry.o)
+
+[PYTHON::swig_registry]
+PUBLIC_DEPENDENCIES = registry
+SWIG_FILE = registry.i
+