Change date, more refinements

This commit is contained in:
Bob Polis 2024-12-31 14:45:50 +01:00
parent f3c40f4bd7
commit 2d551c59e2

View File

@ -1,4 +1,4 @@
.Dd December 27, 2024 .Dd December 31, 2024
.Dt mkproj 1 .Dt mkproj 1
.Os .Os
.Sh NAME .Sh NAME
@ -139,9 +139,8 @@ exits 0 on success, and 1 if an error occurs.
The project created by The project created by
.Nm .Nm
has the following features. has the following features.
.Ss Without Project Type Options .Ss Normal Tool Project
Without any options, a full-featured project for a tool will be created, with This creates a full-featured project for a tool, with the following layout:
the following layout:
.Bd -literal .Bd -literal
mytool mytool
|-- Makefile |-- Makefile
@ -239,13 +238,13 @@ below for more information.
.It tests directory .It tests directory
Subdirectory for unit tests, using the Boost Unit Test Framework. Subdirectory for unit tests, using the Boost Unit Test Framework.
.El .El
.Ss Filter Project Type .Ss Filter Tool Project
The filter project has an identical structure as the normal type, but adds some The filter tool project has an identical structure as the normal type, but adds
functionality to make the tool behave as a real UNIX filter. some functionality to make the tool behave as a real UNIX filter.
See See
.Sx Tool Features .Sx Tool Features
below for more information. below for more information.
.Ss Library Project Type .Ss Library Project
The library project has been set up to produce a static and dynamic library from The library project has been set up to produce a static and dynamic library from
your sources. your sources.
Its directory structure is almost identical to that of a tool. Its directory structure is almost identical to that of a tool.
@ -256,8 +255,9 @@ When building the library, a static and dynamic library are produced, containing
by default a single function which can return a version string. by default a single function which can return a version string.
.Pp .Pp
TODO describe lib header generation, honoring @exclude TODO describe lib header generation, honoring @exclude
.Ss Simple Project Type .Ss Simple Tool Project
The simple project is just a directory with a single source file and a Makefile. The simple tool project is just a directory with a single source file and a
Makefile.
The idea is that you use this for simple, quick proof-of-concept tools. The idea is that you use this for simple, quick proof-of-concept tools.
Here, the source file has the same name as the project, and is almost empty, so Here, the source file has the same name as the project, and is almost empty, so
nothing is in the way to make it do what you want. nothing is in the way to make it do what you want.
@ -268,6 +268,8 @@ as well as a
but no more. but no more.
Possible library dependencies should be added to the Makefile. Possible library dependencies should be added to the Makefile.
.Ss Makefile targets .Ss Makefile targets
The description below is valid for all project types, except the simple tool
project.
.Bl -tag -width Ds .Bl -tag -width Ds
.It make .It make
Use this to compile and link your tool. Use this to compile and link your tool.