https://github.com/bonnyad9/makemake
Command line utility for creating and loading project templates.
https://github.com/bonnyad9/makemake
csharp dotnet makefile template
Last synced: 2 months ago
JSON representation
Command line utility for creating and loading project templates.
- Host: GitHub
- URL: https://github.com/bonnyad9/makemake
- Owner: BonnyAD9
- License: mit
- Created: 2022-07-03T17:48:54.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-12T08:40:47.000Z (almost 4 years ago)
- Last Synced: 2025-10-07T22:35:07.726Z (10 months ago)
- Topics: csharp, dotnet, makefile, template
- Language: C#
- Homepage:
- Size: 51.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MakeMake
Command line utility for creating and loading project templates.
## Usage
```shell
> makemake -h
```
shows help
```shell
> makemake vscm
```
loads template with name vscm
```shell
> makemake -n vscm
```
creates new template from the files in the cwd with the name vscm
```shell
> makemake vscm -DCompiler=gcc -Dhw
```
loads template `vscm` where the `Compiler` variable is set to `gcc` and the `hw` variable is set to nothing
### Variables in files
Filenames that start with `'` will have their names and contents expanded.
You can use special variables in files using `${}`, you can write literal strings with `${'${\'}'}` which will expand to `${'}`. In file and folder names, the `$` and `\` symbols are changed for `_` and the `{` and `}` symbols are changed for `(` and `)` respectively (`'_('_'__()').c` will expand to `'_().c`).
File in the base of the template with name `'.json` is special. In this file you can specifiy template-specific variables.
#### Variables that are always defined
- `Name` - used for the name of the aplication
- `MainName` - used for the name of the file with main
- `Extension` - used as the extension of executable files
- ` `(space) - expands to nothing
#### Variables often used by templates
- `Compiler` - used for the default compiler
- `DebugFlags` - used for the flags for compiler while debugging
- `ReleaseFlags` - used for the flags for compiler for release
#### If
in the `${}` you can use `,` to create simple if statements
```
${hw,'printf("Hello World");', }
```
if variable `hw` is defined expand to `printf("Hello World");` otherwise expand to variable ` `(space) (that expands to nothing)