Blame doc/README

Packit 95bb47
Persistent Memory Development Kit
Packit 95bb47
Packit 95bb47
This is doc/README.
Packit 95bb47
Packit 95bb47
Subdirectories of this directory contain source for the man pages for the
Packit 95bb47
Persistent Memory Development Kit in markdown format (.md files).
Packit 95bb47
If you're looking for documentation to
Packit 95bb47
get you started using PMDK, start here: http://pmem.io/pmdk and follow the
Packit 95bb47
links to examples and man pages. Developers new to PMDK are probably looking
Packit 95bb47
for libpmemobj.
Packit 95bb47
Packit 95bb47
To generate web-based documentation or Linux/FreeBSD man pages, you need to
Packit 95bb47
have groff and pandoc installed. m4 macros are used in the document
Packit 95bb47
sources to generate OS-specific variants of man pages and web-based
Packit 95bb47
documentation. The macros are defined in macros.man. Processing is performed
Packit 95bb47
by the ../utils/md2man.sh script.
Packit 95bb47
Packit 95bb47
All files in the *generated* directory are automatically generated and updated
Packit 95bb47
by the pmdk-bot. **DO NOT MODIFY THE FILES IN THAT DIRECTORY**. All changes to
Packit 95bb47
the documentation must be made by modifying the *.md files in the following
Packit 95bb47
document subdirectories:
Packit 95bb47
Packit 95bb47
libpmem -- low-level persistent memory support
Packit 95bb47
libpmemblk -- pmem-resident arrays of blocks
Packit 95bb47
libpmemlog -- pmem-resident log files
Packit 95bb47
libpmemobj -- transactional object store
Packit 95bb47
libvmem -- volatile memory allocation library
Packit 95bb47
libvmmalloc -- general purpose volatile memory allocation library
Packit 95bb47
libpmempool -- persistent memory pool management library
Packit 95bb47
pmempool -- Persistent Memory Pool Management Tool
Packit 95bb47
librpmem -- remote access to persistent memory (EXPERIMENTAL)
Packit 95bb47
rpmemd -- remote persistent memory daemon (EXPERIMENTAL)
Packit 95bb47
daxio -- perform I/O on Device DAX device
Packit 95bb47
Packit 95bb47
These man pages provide the API specification for the corresponding libraries
Packit 95bb47
and commands in this source tree, so any updates to one should be tested,
Packit 95bb47
reviewed, and committed with changes to the other.
Packit 95bb47
Packit 95bb47
To create more readable text files from the source, use:
Packit 95bb47
	$ [g]make
Packit 95bb47
Packit 95bb47
NOTE: This will write man page output into the *generated* subdirectory. Files
Packit 95bb47
in this directory MUST NOT be included in any pull requests.
Packit 95bb47
Packit 95bb47
The man(1) command may be used to format generated man pages for viewing
Packit 95bb47
in a terminal window (includes bold, underline, etc.), for example:
Packit 95bb47
	$ man generated/libpmem.7
Packit 95bb47
	$ man generated/pmemobj_create.3
Packit 95bb47
Packit 95bb47
In addition, for testing purposes ../utils/md2man.sh will generate a
Packit 95bb47
preprocessed markdown file with the headers stripped off if the TESTOPTS
Packit 95bb47
variable is set. For example:
Packit 95bb47
Packit 95bb47
	$ export TESTOPTS="-DWIN32 -UFREEBSD -UWEB"
Packit 95bb47
	$ ../utils/md2man.sh libpmemobj/libpmemobj.7.md x libpmemobj.7.win.md
Packit 95bb47
Packit 95bb47
will generate a version of the libpmemobj.7 man page for Windows in markdown
Packit 95bb47
format. The resulting file may be viewed with a markdown-enabled browser.