r6981: first version of the builtin web server for Samba4
[samba.git] / source / build / smb_build / main.pm
1 ###########################################################
2 ### SMB Build System                                    ###
3 ### - the main program                                  ###
4 ###                                                     ###
5 ###  Copyright (C) Stefan (metze) Metzmacher 2004       ###
6 ###  Released under the GNU GPL                         ###
7 ###########################################################
8
9 use makefile;
10 use smb_build_h;
11 use input;
12 use config_mk;
13 use output;
14 use dot;
15 use strict;
16
17 sub smb_build_main($)
18 {
19         my $INPUT = shift;
20
21         my @mkfiles = (
22                 "dsdb/config.mk",
23                 "gtk/config.mk",
24                 "smbd/config.mk",
25                 "smbd/process_model.mk",
26                 "libnet/config.mk",
27                 "auth/config.mk",
28                 "nsswitch/config.mk",
29                 "lib/basic.mk",
30                 "lib/socket/config.mk",
31                 "lib/ldb/config.mk",
32                 "lib/talloc/config.mk",
33                 "lib/tdb/config.mk",
34                 "lib/registry/config.mk",
35                 "lib/messaging/config.mk",
36                 "lib/events/config.mk",
37                 "lib/popt/config.mk",
38                 "lib/cmdline/config.mk",
39                 "lib/socket_wrapper/config.mk",
40                 "param/config.mk",
41                 "smb_server/config.mk",
42                 "rpc_server/config.mk",
43                 "ldap_server/config.mk",
44                 "web_server/config.mk",
45                 "winbind/config.mk",
46                 "nbt_server/config.mk",
47                 "cldap_server/config.mk",
48                 "auth/gensec/config.mk",
49                 "auth/kerberos/config.mk",
50                 "auth/ntlmssp/config.mk",
51                 "libcli/auth/config.mk",
52                 "libcli/ldap/config.mk",
53                 "libcli/config.mk",
54                 "utils/net/config.mk",
55                 "utils/config.mk",
56                 "ntvfs/posix/config.mk",
57                 "ntvfs/config.mk",
58                 "ntvfs/unixuid/config.mk",
59                 "torture/config.mk",
60                 "librpc/config.mk",
61                 "client/config.mk",
62                 "libcli/libsmb.mk",
63                 "libcli/config.mk",
64                 "libcli/security/config.mk",
65                 "lib/com/config.mk",
66                 "scripting/swig/config.mk",
67         );
68
69         $| = 1;
70
71         for my $mkfile (@mkfiles) {
72                 config_mk::import_file($INPUT, $mkfile);
73         }
74
75         my $DEPEND = input::check($INPUT);
76         
77         my $OUTPUT = output::create_output($DEPEND);
78
79         makefile::create_makefile_in($OUTPUT, "Makefile.in");
80
81         smb_build_h::create_smb_build_h($OUTPUT, "include/smb_build.h");
82
83         open DOTTY, ">samba4-deps.dot";
84         print DOTTY dot::generate($DEPEND);
85         close DOTTY;
86 }
87
88 1;