1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package MYINSTALLER;
use strict;
use utf8;
use FindBin;
use File::Find;
use ExtUtils::MakeMaker;
my $myhtml_source_dir = $FindBin::Bin ."/source";
our ($LIST_COMPILE, $LIST_OBJECTS);
sub find_all_obj_files {
my ($dir_name) = @_;
my @list;
my @obj_list;
my $search = sub {
return unless $_ =~ /\.c$/;
my $obj_name = $_; #$File::Find::name;
$obj_name =~ s/\.c$/.o/;
push @obj_list, "source/$obj_name";
push @list, "-o source/$obj_name ". $File::Find::name;
};
find({ wanted => $search, follow => 1 }, "$dir_name/myhtml");
return (\@list, \@obj_list);
}
($LIST_COMPILE, $LIST_OBJECTS) = find_all_obj_files($myhtml_source_dir);
my $fdfdf = WriteMakefile(
AUTHOR => 'Alexander Borisov <lex.borisov@gmail.com>',
ABSTRACT => 'Fast HTML Parser using Threads with no outside dependencies',
VERSION_FROM => 'MyHTML.pm',
NAME => 'HTML::MyHTML',
LICENSE => 'Apache 2.0',
LINKTYPE => 'dynamic',
LIBS => ["-lpthread"],
LDFROM => join(" ", @$LIST_OBJECTS, "MyHTML.o"),
INC => "-I$myhtml_source_dir",
#MYEXTLIB => "$myhtml_source_dir/myhtml/myhtml.o",
clean => {FILES => "$myhtml_source_dir/myhtml/*libmyhtml* $myhtml_source_dir/*.o $myhtml_source_dir/myhtml/*.o $myhtml_source_dir/myhtml/utils/*.o"}
);
package MY;
use Config;
sub postamble {
my $self = shift;
my @list;
foreach my $name (@{$MYINSTALLER::LIST_COMPILE}) {
push @list, "\t". '$(CC) -Wall -Werror -O2 -fPIC --std=c99 -D_POSIX_C_SOURCE=199309L -pthread $(INC) -c '. $name;
}
return join "\n", @list;
}
|