----------------------------------------------------------------------- Pre Make Kit shared library support specifications file Document revision: $Id: sl_specs.txt 997 2004-02-12 14:59:42Z mipsator $ ----------------------------------------------------------------------- pmkcomp data: ADD_SYSTEM { NAME = "MySystem" SL_EXT = "shared library extension" SL_VERSION = "$SL_MAJOR.$SL_MINOR" SL_LIBNAME = "lib$SL_NAME$SL_EXT" SL_LIBNAME_VMAJ = "$SL_LIBNAME.$SL_MAJOR" SL_LIBNAME_VFULL = "$SL_LIBNAME.$SL_VERSION" } pmkfile command: BUILD_SHLIB_NAME(?) { NAME = "library name" MAJOR = "major version" MINOR = "minor version" VERSION_NONE = "storage variable" } example: (pmkcomp.dat) ADD_SYSTEM { NAME = "Darwin" SL_EXT = ".dylib" SL_VERSION = "$SL_MAJOR.$SL_MINOR" SL_LIBNAME = "lib$SL_NAME$SL_EXT" SL_LIBNAME_VMAJ = "lib$SL_NAME.$SL_MAJOR$SL_EXT" SL_LIBNAME_VFULL = "lib$SL_NAME.$SL_VERSION$SL_EXT" SLLDFLAGS_gcc = "-dynamiclib" } ADD_SYSTEM { NAME = "OpenBSD" SL_EXT = ".so" SL_VERSION = "$SL_MAJOR.$SL_MINOR" SL_LIBNAME = "lib$SL_NAME$SL_EXT" SL_LIBNAME_VMAJ = "$SL_LIBNAME.$SL_MAJOR" SL_LIBNAME_VFULL = "$SL_LIBNAME.$SL_VERSION" } (pmkfile) DEFINE { LIBPMK_NAME = "pmk" LIBPMK_MAJ = "1" LIBPMK_MIN = "2" } [...] BUILD_SHLIB_NAME(?) { NAME = "$LIBPMK_NAME" MAJOR = "$LIBPMK_MAJ" MINOR = "$LIBPMK_MIN" VERSION_NONE = "LIBNAME" VERSION_FULL = "LIBNAMEV" } (makefile template) LIBNAME= @LIBNAME@ LIBNAMEV= @LIBNAMEV@ (created makefile) LIBNAME= libpmk.so LIBNAMEV= libpmk.so.1.2