2024-12-23 16:18:39 +01:00
2024-12-23 15:55:35 +01:00
2024-12-23 16:33:08 +01:00

proj_tpl

Generic project templates for tools, filters, libraries in C++.

Installation

Type make to install the mkproj script, its man page, and the templates.

Overview

With mkproj, 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 mkproj

Description
Generic project templates for tools, filters, libraries in C++.
Readme 107 KiB
Languages
Roff 44.3%
C++ 27.8%
Makefile 16.6%
Shell 11.3%