This folder contains a makefile which by defaults builds a C project using GCC which has the following structure
project
│ README.md
│ Makefile
│
└───src
│ │
│ └─ app
│ │ main.c
│ │
│ └─ folder
│ | *.c
│ └─ another_folder
│ *.c
│
└───include
│ │
│ └─ folder
│ *.h
│ *.h
│
└───log
| *.log
|
└───build
*.out
- all:
makerule runscomipileandrun - compile:
make compilecompiles source files - run:
make runexecutes the program - leaks:
make leaksrunscompileand runs the program in Valgrind, loggin the result inlog/leaks.log - threads:
make threadsrunscompileand runs the program in Valgrind with the toolHellgrind - clean: deletes executable
- cleanLogs: deletes the
logfolder - remove: runs
cleanandcleanLogs
- Create a repository from this template
- If you don't have yarn , install it.
sudo apt update
sudo apt install yarn
If you already don’t have Node.js installed on your system , the command above will install it. Those who are using nvm can skip the Node.js installation with:
sudo apt install --no-install-recommends yarn
Verfy it with
yarn --version
- Inside the directory, run
yarn install. - Run the make file using
makeoryarn start.
This project is configurated to use standard-version which automaticly generates a CHANGELOG.md.
Recommended: read this article about semantic versions, conventional commits, and using standard-version.
To make use of this you will have to...
- Install
gnupg2:
sudo apt install gnupg2
- Configure git to use
gnupg2
git config --global gpg.program gpg2
- Generate a
gpgkey
gpg --gen-key
-
Whenever you make changes, follow the
convetional-commits -
run
yarn release
There is also yarn release:minor, yarn release:patch and yarn realease:major. To follow the semantic versioning.
All material is provided under an MIT License unless otherwise specified.
MIT License: https://mit-license.org/ or see the LICENSE file.
This project has been facilitated with 💙 by Tomás Sánchez.