Commit | Line | Data |
42793c05 |
1 | use ExtUtils::MakeMaker; |
137443ea |
2 | |
3 | $define = '-DSDBM -DDUFF'; |
9c293c15 |
4 | $define .= ' -DWIN32 -DPERL_STATIC_SYMS' if ($^O eq 'MSWin32'); |
137443ea |
5 | |
17f28c40 |
6 | if ($^O eq 'VMS') { # Old VAXC compiler can't handle Duff's device |
7 | require Config; |
8 | $define =~ s/\s+-DDUFF// if $Config::Config{'vms_cc_type'} eq 'vaxc'; |
9 | } |
10 | |
42793c05 |
11 | WriteMakefile( |
ba14e5f0 |
12 | NAME => 'sdbm', # (doesn't matter what the name is here) oh yes it does |
bf99883d |
13 | # LINKTYPE => 'static', |
137443ea |
14 | DEFINE => $define, |
4dcba783 |
15 | INC => '-I$(PERL_INC)', # force PERL_INC dir ahead of system -I's |
17f28c40 |
16 | INST_ARCHLIB => '.', |
17 | SKIP => [qw(dynamic dynamic_lib dlsyms)], |
18 | OBJECT => '$(O_FILES)', |
74767600 |
19 | clean => {'FILES' => 'dbu libsdbm.a dbd dba dbe x-dbu *.dir *.pag'}, |
20 | H => [qw(tune.h sdbm.h pair.h $(PERL_INC)/config.h)], |
21 | C => [qw(sdbm.c pair.c hash.c)] |
42793c05 |
22 | ); |
23 | |
137443ea |
24 | sub MY::post_constants { |
25 | ' |
26 | INST_STATIC = libsdbm$(LIB_EXT) |
27 | ' |
28 | } |
42793c05 |
29 | |
30 | sub MY::top_targets { |
ffea5178 |
31 | my $r = ' |
42793c05 |
32 | all :: static |
17f28c40 |
33 | $(NOECHO) $(NOOP) |
42793c05 |
34 | |
42793c05 |
35 | config :: |
17f28c40 |
36 | $(NOECHO) $(NOOP) |
42793c05 |
37 | |
38 | lint: |
39 | lint -abchx $(LIBSRCS) |
02c45c47 |
40 | |
ffea5178 |
41 | '; |
42 | $r .= ' |
02c45c47 |
43 | # This is a workaround, the problem is that our old GNU make exports |
44 | # variables into the environment so $(MYEXTLIB) is set in here to this |
45 | # value which can not be built. |
46 | sdbm/libsdbm.a: |
ffea5178 |
47 | $(NOECHO) $(NOOP) |
48 | ' unless $^O eq 'VMS'; |
49 | |
50 | return $r; |
42793c05 |
51 | } |