in reply to Re^5: Programming Department
in thread Programming Department
there’s really no excuse not to do it.
I don't need an excuse, I have plenty of reasons.
The makefiles it produces are unintelligible(* see below for an example).
I have no idea how to add extra C compiler switches (disable certain warnings /wd<n> or to produce assembler files /Fa<file> or... ) to this mess.
For the OP, if his shop is producing web sites for customers, he probably has in-house common elements used as a part of multiple customers projects. He may have multiple projects per customer. There are likely common code elements across customer projects.
Trying to force fit all these into the directory structures required by these build tools is insanity.
And having to copy files from whatever directory structure is appropriate for his development process, to a completely different structure in order to accommodate a packager--for most pure perl projects nothing more that a glorified file copying routine that could in many cases be done (easily and cleanly and understandably) by 5 or ten lines of batch file--make no sense either.
Meta question. Can anyone explain to me why the source files start in one place, get copied to another place before being finally copied to where they should have been put in the first place?
If for you, project equals a perl module, then it may make some sense, but otherwise, none at all.
And from what I have seen of the alternatives to EU::MM, be it M::B, or M::I and others, they simply add extra layers on top of the underlying problems. You simply end up with the same unintelligible mess of a make file, but you are now an extra layer (or two) removed from how it is produced. The inputs may be simpler (looking), and if what they produce does all you need it to do, then that's great. But if it doesn't, if you need to modify it, or add to it, your even worse off than with EU::MM. You now have to plunder your way through an extra layer of documentation, and an extra layer of metafiles, boiler-plate include files, and heavily nested "OO" layers trying to work out where you need to make what change in order to affect the makefile that gets produced.
If that is your idea of heaven, good luck to you.
# This Makefile is for the Bit::Vector extension to perl. # # It was generated automatically by MakeMaker version # 6.17 (Revision: 1.133) from the contents of # Makefile.PL. Don't edit this file, edit Makefile.PL instead. # # ANY CHANGES MADE HERE WILL BE LOST! # # MakeMaker ARGV: () # # MakeMaker Parameters: # NAME => q[Bit::Vector] # OBJECT => q[$(O_FILES)] # PREREQ_PM => { Carp::Clan=>q[5.3] } # VERSION_FROM => q[Vector.pm] # dist => { COMPRESS=>q[gzip -9], SUFFIX=>q[gz] } # --- MakeMaker post_initialize section: # --- MakeMaker const_config section: # These definitions are from config.sh (via c:/Perl/lib/Config.pm) # They may have been overridden via Makefile.PL or on the command line AR = lib CC = cl CCCDLFLAGS = CCDLFLAGS = DLEXT = dll DLSRC = dl_win32.xs LD = link LDDLFLAGS = -dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:" +c:\Perl\lib\CORE" -machine:x86 LDFLAGS = -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"c:\Perl +\lib\CORE" -machine:x86 LIBC = msvcrt.lib LIB_EXT = .lib OBJ_EXT = .obj OSNAME = MSWin32 OSVERS = 4.0 RANLIB = rem SITELIBEXP = c:\Perl\site\lib SITEARCHEXP = c:\Perl\site\lib SO = dll EXE_EXT = .exe FULL_AR = VENDORARCHEXP = VENDORLIBEXP = # --- MakeMaker constants section: AR_STATIC_ARGS = cr DIRFILESEP = ^\ NAME = Bit::Vector NAME_SYM = Bit_Vector VERSION = 6.4 VERSION_MACRO = VERSION VERSION_SYM = 6_4 DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" XS_VERSION = 6.4 XS_VERSION_MACRO = XS_VERSION XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" INST_ARCHLIB = blib\arch INST_SCRIPT = blib\script INST_BIN = blib\bin INST_LIB = blib\lib INST_MAN1DIR = blib\man1 INST_MAN3DIR = blib\man3 MAN1EXT = 1 MAN3EXT = 3 INSTALLDIRS = site DESTDIR = PREFIX = PERLPREFIX = c:\Perl SITEPREFIX = c:\Perl\site VENDORPREFIX = INSTALLPRIVLIB = $(PERLPREFIX)\lib DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) INSTALLSITELIB = $(SITEPREFIX)\lib DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) INSTALLVENDORLIB = DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) INSTALLARCHLIB = $(PERLPREFIX)\lib DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) INSTALLSITEARCH = $(SITEPREFIX)\lib DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) INSTALLVENDORARCH = DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) INSTALLBIN = $(PERLPREFIX)\bin DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) INSTALLSITEBIN = c:\Perl\bin DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) INSTALLVENDORBIN = DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) INSTALLSCRIPT = $(PERLPREFIX)\bin DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) INSTALLMAN1DIR = none DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) INSTALLSITEMAN1DIR = C:\Perl\site\man\man1 DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) INSTALLVENDORMAN1DIR = DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) INSTALLMAN3DIR = none DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) INSTALLSITEMAN3DIR = C:\Perl\site\man\man3 DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) INSTALLVENDORMAN3DIR = DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR) PERL_LIB = c:\Perl\lib PERL_ARCHLIB = c:\Perl\lib LIBPERL_A = libperl.lib FIRST_MAKEFILE = Makefile MAKEFILE_OLD = $(FIRST_MAKEFILE).old MAKE_APERL_FILE = $(FIRST_MAKEFILE).aperl PERLMAINCC = $(CC) PERL_INC = C:\Perl\lib\CORE PERL = C:\Perl\bin\perl.exe FULLPERL = C:\Perl\bin\perl.exe ABSPERL = $(PERL) PERLRUN = $(PERL) FULLPERLRUN = $(FULLPERL) ABSPERLRUN = $(ABSPERL) PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" PERL_CORE = 0 PERM_RW = 644 PERM_RWX = 755 MAKEMAKER = c:/Perl/lib/ExtUtils/MakeMaker.pm MM_VERSION = 6.17 MM_REVISION = 1.133 # FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg O +racle) # PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) # DLBASE = Basename part of dynamic library. May be just equal BASEEX +T. FULLEXT = Bit\Vector BASEEXT = Vector PARENT_NAME = Bit DLBASE = $(BASEEXT) VERSION_FROM = Vector.pm OBJECT = $(O_FILES) LDFROM = $(OBJECT) LINKTYPE = dynamic # Handy lists of source code files: XS_FILES = Vector.xs C_FILES = BitVector.c \ Vector.c O_FILES = BitVector.obj \ Vector.obj H_FILES = BitVector.h \ ToolBox.h MAN1PODS = MAN3PODS = # Where is the Config information that we are using/depend on CONFIGDEP = $(PERL_ARCHLIB)$(DIRFILESEP)Config.pm $(PERL_INC)$(DIRFILE +SEP)config.h # Where to build things INST_LIBDIR = $(INST_LIB)\Bit INST_ARCHLIBDIR = $(INST_ARCHLIB)\Bit INST_AUTODIR = $(INST_LIB)\auto\$(FULLEXT) INST_ARCHAUTODIR = $(INST_ARCHLIB)\auto\$(FULLEXT) INST_STATIC = $(INST_ARCHAUTODIR)\$(BASEEXT)$(LIB_EXT) INST_DYNAMIC = $(INST_ARCHAUTODIR)\$(DLBASE).$(DLEXT) INST_BOOT = $(INST_ARCHAUTODIR)\$(BASEEXT).bs # Extra linker info EXPORT_LIST = $(BASEEXT).def PERL_ARCHIVE = $(PERL_INC)\perl58.lib PERL_ARCHIVE_AFTER = TO_INST_PM = Vector.pm \ Vector.pod \ lib/Bit/Vector/Overload.pm \ lib/Bit/Vector/Overload.pod \ lib/Bit/Vector/String.pm \ lib/Bit/Vector/String.pod PM_TO_BLIB = lib/Bit/Vector/Overload.pm \ blib\lib\Bit\Vector\Overload.pm \ Vector.pm \ $(INST_LIB)\Bit\Vector.pm \ lib/Bit/Vector/String.pod \ blib\lib\Bit\Vector\String.pod \ lib/Bit/Vector/Overload.pod \ blib\lib\Bit\Vector\Overload.pod \ Vector.pod \ $(INST_LIB)\Bit\Vector.pod \ lib/Bit/Vector/String.pm \ blib\lib\Bit\Vector\String.pm # --- MakeMaker platform_constants section: MM_Win32_VERSION = 1.09 # --- MakeMaker tool_autosplit section: # Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto AUTOSPLITFILE = $(PERLRUN) -e "use AutoSplit; autosplit($$ARGV[0], $ +$ARGV[1], 0, 1, 1)" # --- MakeMaker tool_xsubpp section: XSUBPPDIR = C:\Perl\lib\ExtUtils XSUBPP = $(XSUBPPDIR)/xsubpp XSPROTOARG = XSUBPPDEPS = C:\Perl\lib\ExtUtils\typemap typemap $(XSUBPP) XSUBPPARGS = -typemap C:\Perl\lib\ExtUtils\typemap -typemap typemap XSUBPP_EXTRA_ARGS = # --- MakeMaker tools_other section: CHMOD = $(PERLRUN) -MExtUtils::Command -e chmod CP = $(PERLRUN) -MExtUtils::Command -e cp MV = $(PERLRUN) -MExtUtils::Command -e mv NOOP = rem NOECHO = @ RM_F = $(PERLRUN) -MExtUtils::Command -e rm_f RM_RF = $(PERLRUN) -MExtUtils::Command -e rm_rf TEST_F = $(PERLRUN) -MExtUtils::Command -e test_f TOUCH = $(PERLRUN) -MExtUtils::Command -e touch UMASK_NULL = umask 0 DEV_NULL = > NUL MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath EQUALIZE_TIMESTAMP = $(PERLRUN) "-MExtUtils::Command" -e eqtime ECHO = $(PERLRUN) -l -e "print qq{@ARGV}" ECHO_N = $(PERLRUN) -e "print qq{@ARGV}" UNINST = 0 VERBINST = 0 MOD_INSTALL = $(PERLRUN) -MExtUtils::Install -e "install({@ARGV}, '$(V +ERBINST)', 0, '$(UNINST)');" DOC_INSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e perllocal_instal +l UNINSTALL = $(PERLRUN) "-MExtUtils::Command::MM" -e uninstall WARN_IF_OLD_PACKLIST = $(PERLRUN) "-MExtUtils::Command::MM" -e warn_if +_old_packlist # --- MakeMaker makemakerdflt section: makemakerdflt: all $(NOECHO) $(NOOP) # --- MakeMaker dist section: TAR = tar TARFLAGS = cvf ZIP = zip ZIPFLAGS = -r COMPRESS = gzip -9 SUFFIX = gz SHAR = shar PREOP = $(NOECHO) $(NOOP) POSTOP = $(NOECHO) $(NOOP) TO_UNIX = $(NOECHO) $(NOOP) CI = ci -u RCS_LABEL = rcs -Nv$(VERSION_SYM): -q DIST_CP = best DIST_DEFAULT = tardist DISTNAME = Bit-Vector DISTVNAME = Bit-Vector-6.4 # --- MakeMaker macro section: # --- MakeMaker depend section: # --- MakeMaker cflags section: CCFLAGS = -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO +_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPE +RL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX OPTIMIZE = -MD -Zi -DNDEBUG -O1 PERLTYPE = MPOLLUTE = # --- MakeMaker const_loadlibs section: # Bit::Vector might depend on some other libraries: # See ExtUtils::Liblist for details # LDLOADLIBS = oldnames.lib kernel32.lib user32.lib gdi32.lib winspool +.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib n +etapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc3 +2.lib odbccp32.lib msvcrt.lib LD_RUN_PATH = # --- MakeMaker const_cccmd section: CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ $(CCFLAGS) $(OPTIMIZE) \ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ $(XS_DEFINE_VERSION) # --- MakeMaker post_constants section: # --- MakeMaker pasthru section: PASTHRU = -nologo # --- MakeMaker special_targets section: .SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT) .PHONY: all config static dynamic test linkext manifest # --- MakeMaker c_o section: .c.i: cl -nologo -E -c $(PASTHRU_INC) $(INC) \ $(CCFLAGS) $(OPTIMIZE) \ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ $(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFIN +E) $(DEFINE) $*.c > $*.i .c.s: $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFI +NE) $*.c .c$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) + $*.c .cpp$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) + $*.cpp .cxx$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) + $*.cxx .cc$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) + $*.cc # --- MakeMaker xs_c section: .xs.c: $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_AR +GS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c # --- MakeMaker xs_o section: # --- MakeMaker top_targets section: all :: pure_all $(NOECHO) $(NOOP) pure_all :: config pm_to_blib subdirs linkext $(NOECHO) $(NOOP) subdirs :: $(MYEXTLIB) $(NOECHO) $(NOOP) config :: $(FIRST_MAKEFILE) $(INST_LIBDIR)$(DIRFILESEP).exists $(NOECHO) $(NOOP) config :: $(INST_ARCHAUTODIR)$(DIRFILESEP).exists $(NOECHO) $(NOOP) config :: $(INST_AUTODIR)$(DIRFILESEP).exists $(NOECHO) $(NOOP) $(INST_AUTODIR)\.exists :: C:\Perl\lib\CORE\perl.h $(NOECHO) $(MKPATH) $(INST_AUTODIR) $(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h $(INST_AUT +ODIR)\.exists -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR) $(INST_LIBDIR)\.exists :: C:\Perl\lib\CORE\perl.h $(NOECHO) $(MKPATH) $(INST_LIBDIR) $(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h $(INST_LIB +DIR)\.exists -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR) $(INST_ARCHAUTODIR)\.exists :: C:\Perl\lib\CORE\perl.h $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR) $(NOECHO) $(EQUALIZE_TIMESTAMP) C:\Perl\lib\CORE\perl.h $(INST_ARC +HAUTODIR)\.exists -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR) $(O_FILES): $(H_FILES) help: perldoc ExtUtils::MakeMaker # --- MakeMaker linkext section: linkext :: $(LINKTYPE) $(NOECHO) $(NOOP) # --- MakeMaker dlsyms section: Vector.def: Makefile.PL $(PERLRUN) -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Bit::Vector\", 'DLBASE' => '$(BASEEXT)', + 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' = +> []);" # --- MakeMaker dynamic section: dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT) $(NOECHO) $(NOOP) # --- MakeMaker dynamic_bs section: BOOTSTRAP = $(BASEEXT).bs # As Mkbootstrap might not write a file (if none is required) # we use touch to prevent make continually trying to remake it. # The DynaLoader only reads a non-empty file. $(BOOTSTRAP): $(FIRST_MAKEFILE) $(BOOTDEP) $(INST_ARCHAUTODIR)$(DIRFIL +ESEP).exists $(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS)) +" $(NOECHO) $(PERLRUN) \ "-MExtUtils::Mkbootstrap" \ -e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');" $(NOECHO) $(TOUCH) $(BOOTSTRAP) $(CHMOD) $(PERM_RW) $@ $(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DIRFILESEP).exists $(NOECHO) $(RM_RF) $(INST_BOOT) -$(CP) $(BOOTSTRAP) $(INST_BOOT) $(CHMOD) $(PERM_RW) $@ # --- MakeMaker dynamic_lib section: # This section creates the dynamically loadable $(INST_DYNAMIC) # from $(OBJECT) and possibly $(MYEXTLIB). OTHERLDFLAGS = INST_DYNAMIC_DEP = $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR +)$(DIRFILESEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_D +EP) $(LD) -out:$@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB) $ +(PERL_ARCHIVE) $(LDLOADLIBS) -def:$(EXPORT_LIST) $(CHMOD) $(PERM_RWX) $@ # --- MakeMaker static section: ## $(INST_PM) has been moved to the all: target. ## It remains here for awhile to allow for old usage: "make static" static :: $(FIRST_MAKEFILE) $(INST_STATIC) $(NOECHO) $(NOOP) # --- MakeMaker static_lib section: $(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DIRFILESEP) +.exists $(RM_RF) $@ $(AR) -out:$@ $(OBJECT) $(CHMOD) $(PERM_RWX) $@ $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)\extralibs.l +d # --- MakeMaker manifypods section: POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--" POD2MAN = $(POD2MAN_EXE) manifypods : pure_all $(NOECHO) $(NOOP) # --- MakeMaker processPL section: # --- MakeMaker installbin section: # --- MakeMaker subdirs section: # none # --- MakeMaker clean_subdirs section: clean_subdirs : $(NOECHO) $(NOOP) # --- MakeMaker clean section: # Delete temporary files but do not touch installed files. We don't de +lete # the Makefile here so a later make realclean still has a makefile to +use. clean :: clean_subdirs -$(RM_RF) Vector.c ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/e +xtralibs.all $(INST_ARCHAUTODIR)/extralibs.ld perlmain.c tmon.out mon +.out so_locations pm_to_blib *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl pe +rl$(EXE_EXT) $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def lib$(BASEEXT) +.def $(BASEEXT).exp $(BASEEXT).x core core.*perl.*.? *perl.core core. +[0-9] core.[0-9][0-9] core.[0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9] +core.[0-9][0-9][0-9][0-9][0-9] -$(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL) clean :: -$(RM_F) *.pdb # --- MakeMaker realclean_subdirs section: realclean_subdirs : $(NOECHO) $(NOOP) # --- MakeMaker realclean section: # Delete temporary files (via clean) and also delete installed files realclean purge :: clean realclean_subdirs $(RM_RF) $(INST_AUTODIR) $(INST_ARCHAUTODIR) $(RM_RF) $(DISTVNAME) $(RM_F) $(INST_DYNAMIC) $(INST_BOOT) $(RM_F) $(INST_STATIC) $(RM_F) blib\lib\Bit\Vector\String.pod blib\lib\Bit\Vector\String +.pm $(INST_LIB)\Bit\Vector.pm $(MAKEFILE_OLD) blib\lib\Bit\Vector\Ove +rload.pod $(INST_LIB)\Bit\Vector.pod blib\lib\Bit\Vector\Overload.pm $(RM_F) $(FIRST_MAKEFILE) # --- MakeMaker metafile section: metafile : $(NOECHO) $(ECHO) "# http://module-build.sourceforge.net/META-spec +.html" > META.yml $(NOECHO) $(ECHO) "#XXXXXXX This is a prototype!!! It will change + in the future!!! XXXXX#" >> META.yml $(NOECHO) $(ECHO) "name: Bit-Vector" >> META.yml $(NOECHO) $(ECHO) "version: 6.4" >> META.yml $(NOECHO) $(ECHO) "version_from: Vector.pm" >> META.yml $(NOECHO) $(ECHO) "installdirs: site" >> META.yml $(NOECHO) $(ECHO) "requires:" >> META.yml $(NOECHO) $(ECHO) " Carp::Clan: 5.3" >> META +.yml $(NOECHO) $(ECHO) "" >> META.yml $(NOECHO) $(ECHO) "distribution_type: module" >> META.yml $(NOECHO) $(ECHO) "generated_by: ExtUtils::MakeMaker version 6.17" + >> META.yml # --- MakeMaker metafile_addtomanifest section: metafile_addtomanifest: $(NOECHO) $(PERLRUN) -MExtUtils::Manifest=maniadd -e "eval { mania +dd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } \ or print \"Could not add META.yml to MANIFEST: $${'@'}\n\"" # --- MakeMaker dist_basics section: distclean :: realclean distcheck $(NOECHO) $(NOOP) distcheck : $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck skipcheck : $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck manifest : $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest veryclean : realclean $(RM_F) *~ *.orig */*~ */*.orig # --- MakeMaker dist_core section: dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE) $(NOECHO) $(PERLRUN) -l -e "print 'Warning: Makefile possibly out +of date with $(VERSION_FROM)'\ if -e '$(VERSION_FROM)' and -M '$(VERSION_FROM)' < -M '$(FIRST_MAK +EFILE)';" tardist : $(DISTVNAME).tar$(SUFFIX) $(NOECHO) $(NOOP) uutardist : $(DISTVNAME).tar$(SUFFIX) uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(D +ISTVNAME).tar$(SUFFIX)_uu $(DISTVNAME).tar$(SUFFIX) : distdir $(PREOP) $(TO_UNIX) $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) $(RM_RF) $(DISTVNAME) $(COMPRESS) $(DISTVNAME).tar $(POSTOP) zipdist : $(DISTVNAME).zip $(NOECHO) $(NOOP) $(DISTVNAME).zip : distdir $(PREOP) $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME) $(RM_RF) $(DISTVNAME) $(POSTOP) shdist : distdir $(PREOP) $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar $(RM_RF) $(DISTVNAME) $(POSTOP) # --- MakeMaker distdir section: distdir : metafile metafile_addtomanifest $(RM_RF) $(DISTVNAME) $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \ -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" # --- MakeMaker dist_test section: disttest : distdir cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL cd $(DISTVNAME) && $(MAKE) $(PASTHRU) cd $(DISTVNAME) && $(MAKE) test $(PASTHRU) # --- MakeMaker dist_ci section: ci : $(PERLRUN) "-MExtUtils::Manifest=maniread" \ -e "@all = keys %{ maniread() };" \ -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" +\ -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LAB +EL) @all});" # --- MakeMaker install section: install :: all pure_install doc_install install_perl :: all pure_perl_install doc_perl_install install_site :: all pure_site_install doc_site_install install_vendor :: all pure_vendor_install doc_vendor_install pure_install :: pure_$(INSTALLDIRS)_install doc_install :: doc_$(INSTALLDIRS)_install pure__install : pure_site_install $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDI +RS=site doc__install : doc_site_install $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDI +RS=site pure_perl_install :: $(NOECHO) $(MOD_INSTALL) \ read $(PERL_ARCHLIB)\auto\$(FULLEXT)\.packlist \ write $(DESTINSTALLARCHLIB)\auto\$(FULLEXT)\.packlist \ $(INST_LIB) $(DESTINSTALLPRIVLIB) \ $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \ $(INST_BIN) $(DESTINSTALLBIN) \ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \ $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR) $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ $(SITEARCHEXP)\auto\$(FULLEXT) pure_site_install :: $(NOECHO) $(MOD_INSTALL) \ read $(SITEARCHEXP)\auto\$(FULLEXT)\.packlist \ write $(DESTINSTALLSITEARCH)\auto\$(FULLEXT)\.packlist \ $(INST_LIB) $(DESTINSTALLSITELIB) \ $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \ $(INST_BIN) $(DESTINSTALLSITEBIN) \ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \ $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR) $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ $(PERL_ARCHLIB)\auto\$(FULLEXT) pure_vendor_install :: $(NOECHO) $(MOD_INSTALL) \ read $(VENDORARCHEXP)\auto\$(FULLEXT)\.packlist \ write $(DESTINSTALLVENDORARCH)\auto\$(FULLEXT)\.packlist \ $(INST_LIB) $(DESTINSTALLVENDORLIB) \ $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \ $(INST_BIN) $(DESTINSTALLVENDORBIN) \ $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \ $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR) doc_perl_install :: $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCH +LIB)/perllocal.pod -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB) -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLPRIVLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(DESTINSTALLARCHLIB)\perllocal.pod doc_site_install :: $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCH +LIB)/perllocal.pod -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB) -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLSITELIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(DESTINSTALLARCHLIB)\perllocal.pod doc_vendor_install :: $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCH +LIB)/perllocal.pod -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB) -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLVENDORLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(DESTINSTALLARCHLIB)\perllocal.pod uninstall :: uninstall_from_$(INSTALLDIRS)dirs uninstall_from_perldirs :: $(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)\auto\$(FULLEXT)\.packlist uninstall_from_sitedirs :: $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)\auto\$(FULLEXT)\.packlist uninstall_from_vendordirs :: $(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)\auto\$(FULLEXT)\.packlist # --- MakeMaker force section: # Phony target to force checking subdirectories. FORCE: $(NOECHO) $(NOOP) # --- MakeMaker perldepend section: PERL_HDRS = \ $(PERL_INC)/EXTERN.h \ $(PERL_INC)/INTERN.h \ $(PERL_INC)/XSUB.h \ $(PERL_INC)/av.h \ $(PERL_INC)/cc_runtime.h \ $(PERL_INC)/config.h \ $(PERL_INC)/cop.h \ $(PERL_INC)/cv.h \ $(PERL_INC)/dosish.h \ $(PERL_INC)/embed.h \ $(PERL_INC)/embedvar.h \ $(PERL_INC)/fakethr.h \ $(PERL_INC)/form.h \ $(PERL_INC)/gv.h \ $(PERL_INC)/handy.h \ $(PERL_INC)/hv.h \ $(PERL_INC)/intrpvar.h \ $(PERL_INC)/iperlsys.h \ $(PERL_INC)/keywords.h \ $(PERL_INC)/mg.h \ $(PERL_INC)/nostdio.h \ $(PERL_INC)/op.h \ $(PERL_INC)/opcode.h \ $(PERL_INC)/patchlevel.h \ $(PERL_INC)/perl.h \ $(PERL_INC)/perlio.h \ $(PERL_INC)/perlsdio.h \ $(PERL_INC)/perlsfio.h \ $(PERL_INC)/perlvars.h \ $(PERL_INC)/perly.h \ $(PERL_INC)/pp.h \ $(PERL_INC)/pp_proto.h \ $(PERL_INC)/proto.h \ $(PERL_INC)/regcomp.h \ $(PERL_INC)/regexp.h \ $(PERL_INC)/regnodes.h \ $(PERL_INC)/scope.h \ $(PERL_INC)/sv.h \ $(PERL_INC)/thrdvar.h \ $(PERL_INC)/thread.h \ $(PERL_INC)/unixish.h \ $(PERL_INC)/util.h $(OBJECT) : $(PERL_HDRS) Vector.c : $(XSUBPPDEPS) # --- MakeMaker makefile section: $(OBJECT) : $(FIRST_MAKEFILE) # We take a very conservative approach here, but it's worth it. # We move Makefile to Makefile.old here to avoid gnu make looping. $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?" $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makef +ile..." $(NOECHO) $(RM_F) $(MAKEFILE_OLD) $(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) -$(MAKE) -f $(MAKEFILE_OLD) clean $(DEV_NULL) || $(NOOP) $(PERLRUN) Makefile.PL $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <==" $(NOECHO) $(ECHO) "==> Please rerun the make command. <==" false # --- MakeMaker staticmake section: # --- MakeMaker makeaperl section --- MAP_TARGET = perl FULLPERL = C:\Perl\bin\perl.exe $(MAP_TARGET) :: static $(MAKE_APERL_FILE) $(MAKE) -f $(MAKE_APERL_FILE) $@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TA +RGET) $(NOECHO) $(PERLRUNINST) \ Makefile.PL DIR= \ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= # --- MakeMaker test section: TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) TEST_FILE = test.pl TEST_FILES = t\00____version.t t\01________new.t t\02____destroy.t t\0 +3_operations.t t\04__functions.t t\05_____primes.t t\06_____subset.t +t\07____compare.t t\08_____resize.t t\09_parameters.t t\10__intervals +.t t\11______shift.t t\12_____string.t t\13__increment.t t\14______em +pty.t t\15________add.t t\16___subtract.t t\17________gcd.t t\28__chu +nklist.t t\30_overloaded.t t\40__auxiliary.t TESTDB_SW = -d testdb :: testdb_$(LINKTYPE) test :: $(TEST_TYPE) test_dynamic :: pure_all $(FULLPERLRUN) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST +_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES) testdb_dynamic :: pure_all $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $( +TEST_FILE) test_ : test_dynamic test_static :: pure_all $(MAP_TARGET) ./$(MAP_TARGET) "-MExtUtils::Command::MM" "-e" "test_harness($(TES +T_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES) testdb_static :: pure_all $(MAP_TARGET) ./$(MAP_TARGET) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $ +(TEST_FILE) # --- MakeMaker ppd section: # Creates a PPD (Perl Package Description) for a binary distribution. ppd: $(NOECHO) $(ECHO) "<SOFTPKG NAME=\"$(DISTNAME)\" VERSION=\"6,4,0,0 +\">" > $(DISTNAME).ppd $(NOECHO) $(ECHO) " <TITLE>$(DISTNAME)</TITLE>" >> $(DISTNAME). +ppd $(NOECHO) $(ECHO) " <ABSTRACT></ABSTRACT>" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) " <AUTHOR></AUTHOR>" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) " <IMPLEMENTATION>" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) " <DEPENDENCY NAME=\"Carp-Clan\" VERSION= +\"5,3,0,0\" />" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) " <OS NAME=\"$(OSNAME)\" />" >> $(DISTNAM +E).ppd $(NOECHO) $(ECHO) " <ARCHITECTURE NAME=\"MSWin32-x86-multi- +thread-5.8\" />" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) " <CODEBASE HREF=\"\" />" >> $(DISTNAME). +ppd $(NOECHO) $(ECHO) " </IMPLEMENTATION>" >> $(DISTNAME).ppd $(NOECHO) $(ECHO) "</SOFTPKG>" >> $(DISTNAME).ppd # --- MakeMaker pm_to_blib section: pm_to_blib: $(TO_INST_PM) $(NOECHO) $(PERLRUN) -MExtUtils::Install -e "pm_to_blib({@ARGV}, ' +$(INST_LIB)\auto', '$(PM_FILTER)')"\ lib/Bit/Vector/Overload.pm blib\lib\Bit\Vector\Overload.pm \ Vector.pm $(INST_LIB)\Bit\Vector.pm \ lib/Bit/Vector/String.pod blib\lib\Bit\Vector\String.pod \ lib/Bit/Vector/Overload.pod blib\lib\Bit\Vector\Overload.pod \ Vector.pod $(INST_LIB)\Bit\Vector.pod \ lib/Bit/Vector/String.pm blib\lib\Bit\Vector\String.pm $(NOECHO) $(TOUCH) $@ # --- MakeMaker selfdocument section: # --- MakeMaker postamble section: # End.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^7: Programming Department
by adrianh (Chancellor) on Jan 16, 2006 at 12:28 UTC | |
|
Re^7: Programming Department
by adamk (Chaplain) on Jan 19, 2006 at 06:56 UTC |