Skip to content

SebbeBlom/repo-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repo Template

repo_template/ ├── LICENSE # Licensing information for the project. ├── Makefile # Build automation tool for compiling and managing the project. ├── README.md # Documentation about the repository structure and usage. ├── benchmark/ # Scripts and files for benchmarking project performance. ├── bin/ # Compiled executables and binaries. ├── coverage/ # Code coverage reports and related files. ├── docs/ # Documentation for the project (usage, API, guides, etc.). ├── gc.supp # Suppression file for coverage tools like gcov or valgrind. ├── include/ # Header files (.h) for the project. ├── lib/ # External or internal libraries for the project. ├── src/ # Source code for the main project. └── test/ # Test-related code and binaries. ├── bin/ # Binaries or executables created from test source files. └── test_main.c # Main test file for running unit tests.

Folder Descriptions

LICENSE

This file contains the licensing information for your project. Choose a license that suits your project, such as MIT, Apache, or GPL, and ensure you fill out the relevant details.

Makefile

The Makefile automates the build process. Define targets such as:

  • all: Build the entire project.
  • clean: Remove generated files.
  • test: Compile and run tests.
  • install: Install the binaries or libraries.

README.md

This file provides a detailed overview of the project, including how to build, test, and use the software. It also explains the folder structure.

benchmark/

Use this folder for performance testing and benchmarking tools or scripts. Store any benchmarks, profiling results, or related utilities here.

bin/

This directory is for compiled binaries and executables produced by the project. For example:

  • The main application binary will be stored here after compilation.
  • This folder should only contain production-ready binaries.

coverage/

Generated code coverage reports (e.g., from gcov, lcov, or similar tools) go here. This directory is typically populated during testing and can be excluded from version control using .gitignore.

docs/

Store all project-related documentation here. Examples include:

  • usage.md: Instructions for using the software.
  • installation.md: Steps to install and set up the project.
  • api.md: Documentation for APIs or libraries.

gc.sup

This is a suppression file for tools like gcov or valgrind to exclude specific warnings or files from analysis. Modify it based on your project’s requirements.

include/

Store all header files (.h) in this directory. These files define the interfaces and declarations for the project. Examples:

  • include/project.h: Main project header.
  • include/utils.h: Utility function declarations.

lib/

Place external or internal libraries used by the project here. Examples:

  • .so or .a files for shared or static libraries.
  • Third-party dependencies or your custom libraries.

src/

This is the main directory for the project’s source code (.c files). Examples:

  • src/main.c: Entry point of the application.
  • src/utils.c: Implementation of utility functions.

test/

This directory contains all files related to testing. Structure:

  • test_main.c: The main test source file where all unit tests are defined.
  • bin/: Binaries or executables created from the test code are stored here.

Outputs

  • Binaries: All compiled executables for production are placed in bin/.
  • Test Binaries: Test-related executables are stored in test/bin/.
  • Coverage Reports: Generated files from coverage tools are stored in coverage/.

About

Simple repo template

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors