Compare commits
2 Commits
1b82bbc4cf
...
93f11efcc1
Author | SHA1 | Date | |
---|---|---|---|
93f11efcc1 | |||
1f64049823 |
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 bob
|
||||
Copyright (c) 2025 Bob Polis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
46
README.md
46
README.md
@ -1,3 +1,49 @@
|
||||
# proj_tpl
|
||||
|
||||
Generic project templates for tools, filters, libraries in C++.
|
||||
|
||||
## Installation
|
||||
|
||||
Type `make` to install the `mkcppproj` tool and its man page.
|
||||
|
||||
## Overview
|
||||
|
||||
With `mkcppproj`, you can create a C++ project for a tool or a library.
|
||||
The tool can be:
|
||||
|
||||
- a simple experiment, to test some idea;
|
||||
- a more elaborate tool, meant to be distributed;
|
||||
- a UNIX filter, which processes input files line by line, or reads from
|
||||
standard input when there are no input files;
|
||||
- a library, where both a static and a dynamic library will be built.
|
||||
|
||||
All of these can optionally:
|
||||
|
||||
- use a precompiled header for the C++ Standard Library;
|
||||
- implement a plugin architecture, where building and installing plugins is
|
||||
automatically supported.
|
||||
|
||||
At the center is a `Makefile`, which should not be altered. This `Makefile` can
|
||||
build and install any of these projects. All project-specific additions should
|
||||
be put in the mandatory `premake.make` (which is included at the start of the
|
||||
Makefile), and in an optional `postmake.make` (which is included at the end of
|
||||
the Makefile).
|
||||
|
||||
The `premake.make` typically defines some Make variables, whereas the
|
||||
`postmake.make` typically contains extra Make targets.
|
||||
|
||||
The `premake.make` is mandatory, because it defines the name of the tool or
|
||||
library, and its version. This is also where you declare external dependencies.
|
||||
|
||||
Available Make targets are:
|
||||
|
||||
- `make` will build the tool or library;
|
||||
- `sudo make install` will install it, and all of its accompanying files;
|
||||
- `make clean` will remove compiled object files, but will keep a previously
|
||||
built tool or library, and the precompiled header;
|
||||
- `make dist-clean` will bring the project to a pristine state.
|
||||
- `sudo make uninstall` will remove all installed files.
|
||||
|
||||
## Documentation
|
||||
|
||||
`man mkcppproj`
|
||||
|
Loading…
x
Reference in New Issue
Block a user