Fix dependencies when using shared libraries.
[ira/wip.git] / source4 / auth / config.mk
index 4263a10df7dbbf1634e8fe2aed7b67e0983deabb..97916023c3e1bcc56b2fd5cca9d0f069ee64b49b 100644 (file)
@@ -1,98 +1,51 @@
 # auth server subsystem
+gensecsrcdir := $(authsrcdir)/gensec
 mkinclude gensec/config.mk
 mkinclude kerberos/config.mk
 mkinclude ntlmssp/config.mk
+mkinclude ntlm/config.mk
 mkinclude credentials/config.mk
 
 [SUBSYSTEM::auth_session]
-OBJ_FILES = session.o
-PUBLIC_HEADERS = session.h
-PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
+PRIVATE_DEPENDENCIES = SAMDB
+
+PUBLIC_HEADERS += $(authsrcdir)/session.h
+
+auth_session_OBJ_FILES = $(addprefix $(authsrcdir)/, session.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/session_proto.h,$(auth_session_OBJ_FILES:.o=.c)))
+
+[SUBSYSTEM::samba_server_gensec]
+PUBLIC_DEPENDENCIES = CREDENTIALS GENSEC auth 
+
+samba_server_gensec_OBJ_FILES = $(addprefix $(authsrcdir)/, samba_server_gensec.o)
 
 [SUBSYSTEM::auth_system_session]
-OBJ_FILES = system_session.o
-PRIVATE_PROTO_HEADER = system_session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY 
 
+auth_system_session_OBJ_FILES = $(addprefix $(authsrcdir)/, system_session.o)
+$(eval $(call proto_header_template,$(authsrcdir)/system_session_proto.h,$(auth_system_session_OBJ_FILES:.o=.c)))
+
 [SUBSYSTEM::auth_sam]
-PRIVATE_PROTO_HEADER = auth_sam.h
-OBJ_FILES = sam.o ntlm_check.o 
 PUBLIC_DEPENDENCIES = SAMDB UTIL_LDB LIBSECURITY
 PRIVATE_DEPENDENCIES = LDAP_ENCODE
 
+auth_sam_OBJ_FILES = $(addprefix $(authsrcdir)/, sam.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/auth_sam.h,$(auth_sam_OBJ_FILES:.o=.c)))
+
 [SUBSYSTEM::auth_sam_reply]
-PRIVATE_PROTO_HEADER = auth_sam_reply.h
-OBJ_FILES = auth_sam_reply.o
-
-#######################
-# Start MODULE auth_sam
-[MODULE::auth_sam_module]
-# gensec_krb5 and gensec_gssapi depend on it
-INIT_FUNCTION = auth_sam_init
-SUBSYSTEM = auth
-OBJ_FILES = auth_sam.o
-PRIVATE_DEPENDENCIES = \
-               SAMDB auth_sam
-# End MODULE auth_sam
-#######################
-
-#######################
-# Start MODULE auth_anonymous
-[MODULE::auth_anonymous]
-INIT_FUNCTION = auth_anonymous_init
-SUBSYSTEM = auth
-OBJ_FILES = auth_anonymous.o
-# End MODULE auth_anonymous
-#######################
-
-#######################
-# Start MODULE auth_winbind
-[MODULE::auth_winbind]
-INIT_FUNCTION = auth_winbind_init
-SUBSYSTEM = auth
-OBJ_FILES = auth_winbind.o
-PRIVATE_DEPENDENCIES = NDR_WINBIND MESSAGING LIBWINBIND-CLIENT
-# End MODULE auth_winbind
-#######################
-
-#######################
-# Start MODULE auth_developer
-[MODULE::auth_developer]
-INIT_FUNCTION = auth_developer_init
-SUBSYSTEM = auth
-OBJ_FILES = auth_developer.o
-# End MODULE auth_developer
-#######################
-
-[MODULE::auth_unix]
-INIT_FUNCTION = auth_unix_init
-SUBSYSTEM = auth
-OBJ_FILES = auth_unix.o
-PRIVATE_DEPENDENCIES = CRYPT PAM PAM_ERRORS NSS_WRAPPER
-
-[SUBSYSTEM::PAM_ERRORS]
-PRIVATE_PROTO_HEADER = pam_errors.h
-OBJ_FILES = pam_errors.o
-
-#######################
-# Start SUBSYSTEM auth
-[SUBSYSTEM::auth]
-#VERSION = 0.0.1
-#SO_VERSION = 0
-PUBLIC_HEADERS = auth.h
-PRIVATE_PROTO_HEADER = auth_proto.h
-OBJ_FILES = \
-               auth.o \
-               auth_util.o \
-               auth_simple.o
-PUBLIC_DEPENDENCIES = LIBSECURITY SAMDB CREDENTIALS
-PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
-# End SUBSYSTEM auth
-#######################
-
-[PYTHON::swig_auth]
+
+auth_sam_reply_OBJ_FILES = $(addprefix $(authsrcdir)/, auth_sam_reply.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/auth_sam_reply.h,$(auth_sam_reply_OBJ_FILES:.o=.c)))
+
+[PYTHON::pyauth]
+LIBRARY_REALNAME = samba/auth.$(SHLIBEXT)
 PUBLIC_DEPENDENCIES = auth_system_session
-PRIVATE_DEPENDENCIES = SAMDB 
-SWIG_FILE = auth.i
+PRIVATE_DEPENDENCIES = SAMDB PYTALLOC param
+
+pyauth_OBJ_FILES = $(authsrcdir)/pyauth.o
+