This repository is a template structure for small projects using C or C++. Here we create some folders commonly found in C/C++ projects. Following there's a list describing their roles.
-
Makefile: That's the most important file in the project, it automates the build of source files by using rules and sometimes an automated dependency generation. Normally it includes rules to clean the build process and prepare it to a new one;
-
bin: In this folder binaries are placed, if more than one system is targeted you can use the system as a subfolder, e.g. bin/Linux;
-
lib: Here libraries generated by this project are placed;
-
include: Holds include files such as .h for C/C++ projects;
-
docs: Has documents related to the project and git related processes, they can contain issue and pull requests templates;
-
man: The traditional Linux manual pages, contains instructions about how to use the software and some details about its internal workings;
-
src: Contains source files, if the project is modularized subfolders should be used, for example src/mod1;
-
obj: Temporary folder to store object files created by the compilation process, normally cleansed by the clean makefile target;
-
LICENSE: Open Source License describing how to use, change, and distribute this repository; &
-
data: Folder for miscellaneous data files needed;
-
build: Build information;
-
version: Holds the current version of the software, sometimes named release; &
-
CONTRIBUTING: File describing how to contribute with this repository;
-
README: This file.
- Creating version information.
There are lots of things to do, the ones in my mind now are listed below.
- Finish community standards.
- Implement automatic dependency generation.
Created by: Brian Mayer - bleemayer@gmail.com Inital commit: Apr, 21, 2018 Distributed under the Unlicense. See LICENSE for more information.
Check the CONTRIBUTING file for details, but, in advance, it is pretty intuitive and straightforward.