Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi gurus,

I am new to program. I've download parrot source code for study. But on the first glance, I'm a little confused at parrot's layout:
2008-03-25 11:03 <DIR> . 2008-03-25 11:03 <DIR> .. 2008-03-21 09:40 <DIR> apps 2008-03-21 09:44 271,818 ChangeLog 2008-03-21 09:41 <DIR> compilers 2008-03-21 09:41 <DIR> config 2008-03-21 09:44 7,980 Configure.pl 2008-03-21 09:44 13,353 CREDITS 2008-03-21 09:44 4,474 DEPRECATED.pod 2008-03-21 09:44 466 DEVELOPING 2008-03-21 09:40 <DIR> docs 2008-03-21 09:44 683 DONORS.pod 2008-03-21 09:40 <DIR> editor 2008-03-21 09:44 <DIR> examples 2008-03-21 09:40 <DIR> ext 2008-03-21 09:40 <DIR> include 2008-03-21 09:43 <DIR> languages 2008-03-21 09:40 <DIR> lib 2008-03-21 09:44 9,103 LICENSE 2008-03-21 09:44 828 Makefile.PL 2008-03-21 09:44 246,664 MANIFEST 2008-03-21 09:44 17,491 MANIFEST.generated 2008-03-21 09:44 58,896 MANIFEST.SKIP 2008-03-21 09:44 1,001 META.yml 2008-03-21 09:44 35,181 NEWS 2008-03-21 09:44 1,510 parrot-config 2008-03-21 09:44 5,275 parrot.spec 2008-03-21 09:44 22,118 parrotbug 2008-03-21 09:44 4,710 PBC_COMPAT 2008-03-21 09:44 4,785 PLATFORMS 2008-03-21 09:40 <DIR> ports 2008-03-21 09:44 5,013 README 2008-03-21 09:44 1,701 README_cygwin.pod 2008-03-21 09:44 7,447 README_win32.pod 2008-03-21 09:44 3,041 RESPONSIBLE_PARTIES 2008-03-21 09:38 <DIR> runtime 2008-03-21 09:40 <DIR> src 2008-03-21 09:41 <DIR> t 2008-03-21 13:55 32 test.c 2008-03-21 13:55 93 test.cco 2008-03-21 09:44 638 TODO 2008-03-21 09:40 <DIR> tools 2008-03-21 09:44 7 VERSION
It seems to me that there is no any books to introduce how and why organize files.
To understand the meaning of every dir and files took me about 3 to 5 hours. But now, my question is:
is it a typical layout in Linux program? I mean, If I'd like to start a project in Linux, should I create a similar layout?
And If really so, is there a free tool to prompt this process?

Thanks in advance! Any reply would be appreciated!

Replies are listed 'Best First'.
Re: Is there a typical layout in linux program?
by chromatic (Archbishop) on Mar 25, 2008 at 04:49 UTC
      your link is dead ...

        Oops. Fixed now, thanks.

Re: Is there a typical layout in linux program?
by nefigah (Monk) on Mar 25, 2008 at 04:55 UTC

    That is a typical way to set up a directory tree that is meant to be compiled from source, yes. If you are just trying to look at the source, lib/ is likely the directory you want.

    They are set up that to be consistent: When it comes to Perl modules, you can run Makefile.PL to generate the, erm, makefile (which is basically a file containing instructions to the C compiler as to what it's job is going to be). You can then use the make command to actually build it.

    See here for some more info about installing stuff from source on *nix.

    And no, you don't have to understand ALL of how it works to be able to use it. And yes, there are automated ways of installing Perl modules :)


    I'm a peripheral visionary... I can see into the future, but just way off to the side.