Skip to content

Commit

Permalink
Update CONTRIBUTING docos.
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelrsweet committed Dec 5, 2023
1 parent 34dbf6c commit a0cdb26
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,17 @@ Contents
Build System
------------

The build system uses a simple POSIX makefile to build a static or shared
library. To improve portability, makefiles *must not* make use of features
unique to GNU make. See the [Makefile Guidelines](#makefile-guidelines) section
for a description of the allowed make features and makefile guidelines.
The build system uses [GNU autoconf][AUTOCONF] to create a simple POSIX makefile
to build static and/or shared libraries. To improve portability, makefiles
*must not* make use of features unique to GNU make. See the
[Makefile Guidelines](#makefile-guidelines) section for a description of the
allowed make features and makefile guidelines.

An Xcode project is provided for macOS/iOS developers, and a Visual Studio
solution and projects for Windows developers.

[AUTOCONF]: https://www.gnu.org/software/autoconf/


Version Numbering
-----------------
Expand Down Expand Up @@ -373,14 +376,15 @@ The following variables are defined in the makefile:
- `CC`; the C compiler command,
- `CFLAGS`; options for the C compiler,
- `CODESIGN_IDENTITY`: the code signing identity,
- `COMMONFLAGS`; common compiler optimization options,
- `CPPFLAGS`; options for the C preprocessor,
- `DESTDIR`/`DSTROOT`: the destination root directory when installing.
- `DSO`; the shared library building command,
- `DSOFLAGS`; options for the shared library building command,
- `DSONAME`: the root name of the shared library
- `LDFLAGS`; options for the linker,
- `LIBPDFIO`: the name of the primary (shared or static) library
- `LIBPDFIO_STATIC`: the name of the secondary (static) library
- `LIBS`; libraries for all programs,
- `OPTIM`; common compiler optimization options,
- `prefix`; the installation prefix directory,
- `RANLIB`; the static library indexing command,
- `SHELL`; the sh (POSIX shell) command,
Expand All @@ -389,12 +393,7 @@ The following variables are defined in the makefile:
The following standard targets are defined in the makefile:

- `all`; creates the static library and unit test program.
- `all-shared`; creates a shared library appropriate for the local system.
- `clean`; removes all target programs libraries, documentation files, and
object files,
- `debug`: creates a clean build of the static library and unit test program
with debug printfs and the clang address sanitizer enabled.
- `install`; installs all distribution files in their corresponding locations.
- `install-shared`; same as `install` but also installs the shared library.
- `macos`; same as `all` but creates a Universal Binary (X64 + ARM64).
- `test`; runs the unit test program, building it as needed.

0 comments on commit a0cdb26

Please sign in to comment.