Is there a C project Default Directory Layout?

alexdantas picture alexdantas · Dec 15, 2011 · Viewed 9k times · Source

I've always wanted to know if there is a default directory layout for C projects. You know, which folders should i put which files and such.

So I've downloaded lots of project's source codes on SourceForge and they were all different than each other. Generally, I found more or less this structure:

    /project         (root project folder, has project name)
    |
    |____/bin        (the final executable file)
    |
    |
    |____/doc        (project documentation)
    |    |
    |    |____/html  (documentation on html)
    |    |
    |    |____/latex (documentation on latex)
    |
    |
    |____/src        (every source file, .c and .c)
    |    |
    |    |____/test  (unit testing files)
    |
    |
    |____/obj        (where the generated .o files will be)
    |
    |
    |____/lib        (any library dependences)
    |
    |
    |____BUGS        (known bugs)
    |
    |____ChangeLog   (list of changes and such)
    |
    |____COPYING     (project license and warranty info)
    |
    |____Doxyfile    (Doxygen instructions file)
    |
    |____INSTALL     (install instructions)
    |        |
    |____Makefile    (make instructions file)
    |
    |____README      (general readme of the project)
    |
    |____TODO        (todo list)

Is there a default standard somewhere?

Edit: Sorry, really. I realised there are numerous similar questions for recommended C project directory files. But I've seen people say what they think is best. I'm looking for a standard, something that people usually follow.

Related Questions:

C - Starting a big project. File/Directory structure and names. Good example required

Folder structure for a C project

File and Folder structure of a App/Project based in C

Project Organization in C Best Practices

Answer

unwind picture unwind · Dec 15, 2011

I would say "no", and your empirical evidence seems to support that.

I usually get confused right around when I need to decide between doc/ and docs/ ...