I thought knew what make and Makefiles do for C and C++ projects — check source file dependencies and binary files, seeing what needs to be recompiled.
I think you meant "compiled" up there not "recompiled". Makefiles are similar to shell scripts, a series of instructions for the machine-local copy of make to process for different stages of preprocessing, compiling and installing packages from source. And the very same applies to perl modules too.
You have to remember that perl is a high level language whose capabilities transcend the different non-portable languages built for dedicated platforms and architectures (like C, C++, etc). This makes perl really powerful and portable but at a cost, the layer of abstraction at which perl operates doesn't allow a perl user to directly access the system, create data structures using the fundamental data types, interact with hardware and external libraries, etc. One of the ways perl modules get to work identically across the various host environments is to initially build a "platform" (for lack of a better word) that is dependant on the machine's subtleties - C compilers, fundamental data-types, endianness, memory management algorithms, available libraries, paths, etc, etc. So it is the job of makefiles (in perl too) to analyze the system, create rules, compile C code (in XS/SWIG) and install the compiled binaries into the perl path (@INC), etc. The importance of the makefile in a perl module varies - some perl modules contain very little perl code and are largely comprised of compiled XS, other's contain pure perl and little or no XS.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.