r7463: - move some more stuff into functions
[sfrench/samba-autobuild/.git] / source4 / 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 smb_build::makefile;
10 use smb_build::smb_build_h;
11 use smb_build::input;
12 use smb_build::config_mk;
13 use smb_build::output;
14 use smb_build::dot;
15 use strict;
16
17 my $config_list = "config.list";
18
19 sub smb_build_main($)
20 {
21         my $INPUT = shift;
22
23         my @mkfiles = split('\n', `grep -v ^# $config_list`);
24
25         $| = 1;
26
27         for my $mkfile (@mkfiles) {
28                 config_mk::import_file($INPUT, $mkfile);
29         }
30
31         my $DEPEND = input::check($INPUT);
32         
33         my $OUTPUT = output::create_output($DEPEND);
34
35         makefile::create_makefile_in($OUTPUT, "Makefile.in");
36
37         smb_build_h::create_smb_build_h($OUTPUT, "include/smb_build.h");
38
39         open DOTTY, ">samba4-deps.dot";
40         print DOTTY dot::generate($DEPEND);
41         close DOTTY;
42 }
43
44 1;