CAPS Universe documentation  1.0.4
All you need to know to be successful
Using libcapssi

The library behind the command capsprndir.

Use pkg-config

Don't try to be smart, use pkg-config instead to retrieve the information you need to compile and link your application against libcapssi.

To compile your code, just include its header:

A library to retrieve the printer device specific "CAPS Printer Device Parameter Directory".

And ask pkg-config what include path is required to find this header file.

pkg-config --cflags libcapssi

To link your application against libcapssi ask pkg-config as well. Use the output of this command to parametrize the linker:

pkg-config --libs libcapssi
Note
Whenever you call a function from libcapssi in your application you also must link it against libcapssi. Different libraries you use may already be linked against libcapssi, but that does not work for your application when the linker option --as-needed is in use (which is the default in the CAPS universe).

Use autotools

Don't invent your own Makefile to build your package. Use the autotools or something similar to manage your buildsystem.

For the autotools just use the PKG_CHECK_MODULES m4 macro in your configure.ac to get the information you need to use libcapssi:

PKG_CHECK_MODULES([LIBCAPSSI], [libcapssi >= 1])

And then just refer this information in your Makefile.am:

my_application_CPPFLAGS = \
     @LIBCAPSSI_CFLAGS@
my_application_LDADD = \
     @LIBCAPSSI_LIBS@