use Config; use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. my $moduledir = $Config{'siteprefixexp'} . "/lib/IPTables-IPv4"; my $incpath = $Config{'archlibexp'} . "/CORE/perl.h"; { package MY; sub test_via_harness { my($self, $perl, $tests) = @_; return $self->SUPER::test_via_harness("IPT_MODPATH=\$(CURDIR)/modules $perl", $tests); } sub test_via_script { my($self, $perl, $tests) = @_; return $self->SUPER::test_via_script("IPT_MODPATH=\$(CURDIR)/modules $perl", $tests); } sub postamble { " libiptc/libiptc.a: libiptc/*.c make -C libiptc/ all \%_v6.o: \%.c \$(CCCMD) \$(CCCDLFLAGS) \"-I\$(PERL_INC)\" \$(PASTHRU_DEFINE) \$(DEFINE) -DINET6 -o \$@ \$< pure_all:: modules make -C modules/ all INSTALL_DIR=$moduledir install:: make -C modules/ install INSTALL_DIR=$moduledir clean:: make -C modules/ clean make -C libiptc/ clean V6_INST_ARCHAUTODIR = \$(INST_ARCHLIB)/auto/IPTables/IPv6 V6_OBJECTS = IPv6\$(OBJ_EXT) loader_v6\$(OBJ_EXT) packer_v6\$(OBJ_EXT) unpacker_v6\$(OBJ_EXT) maskgen_v6\$(OBJ_EXT) libiptc/libiptc.a config :: \$(V6_INST_ARCHAUTODIR)/.exists \@\$(NOOP) \$(V6_OBJECTS) : \$(PERL_HDRS) \$(V6_OBJECTS) : \$(FIRST_MAKEFILE) \$(V6_INST_ARCHAUTODIR)/.exists :: $incpath \@\$(MKPATH) \$(V6_INST_ARCHAUTODIR) \@\$(EQUALIZE_TIMESTAMP) $incpath \$\@ \$(V6_INST_ARCHAUTODIR)/IPv6.\$(DLEXT): \$(V6_OBJECTS) \$(RM_F) \$\@ LD_RUN_PATH=\"\$(LD_RUN_PATH)\" \$(LD) \$(LDDLFLAGS) \$^ \$(OTHERLDFLAGS) -o \$\@ \$(MYEXTLIB) \$(PERL_ARCHIVE) \$(LDLOADLIBS) \$(PERL_ARCHIVE_AFTER) \$(EXPORT_LIST) \$(CHMOD) \$(PERM_RWX) \$\@ IPv6.bs: Makefile \$(V6_INST_ARCHAUTODIR)/.exists \@echo \"Running Mkbootstrap for IPTables::IPv6 ()\" \@\$(PERLRUN) \\ \"-MExtUtils::Mkbootstrap\" \\ -e \"Mkbootstrap('IPv6','');\" \@\$(TOUCH) \$\@ \$(CHMOD) \$(PERM_RW) \$\@ \$(V6_INST_ARCHAUTODIR)/IPv6.bs: IPv6.bs \$(V6_INST_ARCHAUTODIR)/.exists \@rm -rf \$\@ -cp IPv6.bs \$\@ \$(CHMOD) \$(PERM_RW) \$\@ dynamic:: \$(V6_INST_ARCHAUTODIR)/IPv6.\$(DLEXT) \$(V6_INST_ARCHAUTODIR)/IPv6.bs "; } } WriteMakefile( 'NAME' => 'IPTables::IPv4', 'VERSION_FROM' => 'IPv4.pm', # finds $VERSION 'OBJECT' => 'IPv4.o loader.o packer.o unpacker.o maskgen.o libiptc/libiptc.a', 'INC' => '-Iinclude -I/usr/src/linux/include', 'CCFLAGS' => "-Wall -DMODULE_PATH=\\\"$moduledir\\\"" . (defined $Config{'use64bitint'} ? " -DPERL_USES_64BIT_INT" : ""), 'TYPEMAPS' => ['IPTables.typemap'], 'XSPROTOARG' => '-noprototypes', );