head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-10-2-RELEASE:1.1.1.1
	netbsd-9-5-RELEASE:1.1.1.1
	netbsd-11-0-RELEASE:1.1.1.1
	netbsd-11-0-RC7:1.1.1.1
	xorg-cf-files-1-0-9:1.1.1.1
	netbsd-11-0-RC6:1.1.1.1
	netbsd-11-0-RC5:1.1.1.1
	netbsd-11-0-RC4:1.1.1.1
	netbsd-11-0-RC3:1.1.1.1
	netbsd-11-0-RC2:1.1.1.1
	netbsd-11-0-RC1:1.1.1.1
	netbsd-11:1.1.1.1.0.30
	netbsd-11-base:1.1.1.1
	netbsd-10-1-RELEASE:1.1.1.1
	netbsd-8-3-RELEASE:1.1.1.1
	netbsd-9-4-RELEASE:1.1.1.1
	netbsd-10-0-RELEASE:1.1.1.1
	netbsd-10-0-RC6:1.1.1.1
	netbsd-10-0-RC5:1.1.1.1
	netbsd-10-0-RC4:1.1.1.1
	netbsd-10-0-RC3:1.1.1.1
	netbsd-10-0-RC2:1.1.1.1
	netbsd-10-0-RC1:1.1.1.1
	xorg-cf-files-1-0-8:1.1.1.1
	netbsd-10:1.1.1.1.0.28
	netbsd-10-base:1.1.1.1
	netbsd-9-3-RELEASE:1.1.1.1
	xorg-cf-files-1-0-7:1.1.1.1
	netbsd-9-2-RELEASE:1.1.1.1
	netbsd-9-1-RELEASE:1.1.1.1
	netbsd-8-2-RELEASE:1.1.1.1
	netbsd-9-0-RELEASE:1.1.1.1
	netbsd-9-0-RC2:1.1.1.1
	netbsd-9-0-RC1:1.1.1.1
	netbsd-9:1.1.1.1.0.26
	netbsd-9-base:1.1.1.1
	netbsd-8-1-RELEASE:1.1.1.1
	netbsd-8-1-RC1:1.1.1.1
	netbsd-7-2-RELEASE:1.1.1.1
	netbsd-8-0-RELEASE:1.1.1.1
	netbsd-8-0-RC2:1.1.1.1
	netbsd-8-0-RC1:1.1.1.1
	netbsd-7-1-2-RELEASE:1.1.1.1
	netbsd-7-1-1-RELEASE:1.1.1.1
	netbsd-8:1.1.1.1.0.24
	netbsd-8-base:1.1.1.1
	netbsd-7-1:1.1.1.1.0.22
	netbsd-7-1-RELEASE:1.1.1.1
	xorg-cf-files-1-0-6:1.1.1.1
	netbsd-7-1-RC2:1.1.1.1
	netbsd-7-1-RC1:1.1.1.1
	netbsd-7-0-2-RELEASE:1.1.1.1
	netbsd-7-0-1-RELEASE:1.1.1.1
	netbsd-7-0:1.1.1.1.0.20
	netbsd-7-0-RELEASE:1.1.1.1
	netbsd-7-0-RC3:1.1.1.1
	netbsd-7-0-RC2:1.1.1.1
	netbsd-7-0-RC1:1.1.1.1
	netbsd-5-2-3-RELEASE:1.1.1.1
	netbsd-5-1-5-RELEASE:1.1.1.1
	netbsd-6-0-6-RELEASE:1.1.1.1
	netbsd-6-1-5-RELEASE:1.1.1.1
	netbsd-7:1.1.1.1.0.18
	netbsd-7-base:1.1.1.1
	netbsd-6-1-4-RELEASE:1.1.1.1
	netbsd-6-0-5-RELEASE:1.1.1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1
	xorg-cf-files-1-0-5:1.1.1.1
	riastradh-drm2:1.1.1.1.0.16
	riastradh-drm2-base:1.1.1.1
	netbsd-6-1-3-RELEASE:1.1.1.1
	netbsd-6-0-4-RELEASE:1.1.1.1
	netbsd-5-2-2-RELEASE:1.1.1.1
	netbsd-5-1-4-RELEASE:1.1.1.1
	netbsd-6-1-2-RELEASE:1.1.1.1
	netbsd-6-0-3-RELEASE:1.1.1.1
	netbsd-5-2-1-RELEASE:1.1.1.1
	netbsd-5-1-3-RELEASE:1.1.1.1
	netbsd-6-1-1-RELEASE:1.1.1.1
	netbsd-6-1:1.1.1.1.0.14
	netbsd-6-0-2-RELEASE:1.1.1.1
	netbsd-6-1-RELEASE:1.1.1.1
	netbsd-6-1-RC4:1.1.1.1
	netbsd-6-1-RC3:1.1.1.1
	netbsd-6-1-RC2:1.1.1.1
	netbsd-6-1-RC1:1.1.1.1
	netbsd-5-2:1.1.1.1.0.12
	netbsd-6-0-1-RELEASE:1.1.1.1
	netbsd-5-2-RELEASE:1.1.1.1
	netbsd-5-2-RC1:1.1.1.1
	netbsd-6-0:1.1.1.1.0.10
	netbsd-6-0-RELEASE:1.1.1.1
	netbsd-6-0-RC2:1.1.1.1
	netbsd-6-0-RC1:1.1.1.1
	netbsd-6:1.1.1.1.0.8
	netbsd-6-base:1.1.1.1
	netbsd-5-1-2-RELEASE:1.1.1.1
	netbsd-5-1-1-RELEASE:1.1.1.1
	xorg-cf-files-1-0-4:1.1.1.1
	netbsd-5-1:1.1.1.1.0.6
	netbsd-5-1-RELEASE:1.1.1.1
	netbsd-5-1-RC4:1.1.1.1
	netbsd-5-1-RC3:1.1.1.1
	netbsd-5-1-RC2:1.1.1.1
	netbsd-5-1-RC1:1.1.1.1
	netbsd-5-0-2-RELEASE:1.1.1.1
	xorg-cf-files-1-0-3:1.1.1.1
	netbsd-5-0-1-RELEASE:1.1.1.1
	netbsd-5-0:1.1.1.1.0.4
	netbsd-5-0-RELEASE:1.1.1.1
	netbsd-5-0-RC4:1.1.1.1
	netbsd-5-0-RC3:1.1.1.1
	netbsd-5-0-RC2:1.1.1.1
	netbsd-5-0-RC1:1.1.1.1
	netbsd-5:1.1.1.1.0.2
	netbsd-5-base:1.1.1.1
	xorg-cf-files-1-0-2:1.1.1.1
	xorg:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2008.07.30.04.32.47;	author mrg;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2008.07.30.04.32.47;	author mrg;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@/*
 * Library imakefile info  - this contains any special redefinitions, etc.
 * that Imakefiles in the various library subtrees will need.
 *
 * Before including this, you must set the following boolean variables:
 * DoNormalLib, DoSharedLib, DoDebugLib, DoProfileLib
 *
 * To get automatic generation of standard rules, also set the variables:
 * LibName, SoRev, HasSharedData, and optionally HugeLibrary and IncSubdir.
 *
 * To suppress installation of the library define LibInstall NO.
 * To suppress creating (and installing) the library define LibCreate NO.
 * To suppress installing headers define LibHeaders NO.
 * Define LargePICTable YES if large (32-bit) PIC tables are needed.
 */

XCOMM $Xorg: Library.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $




XCOMM $XFree86: xc/config/cf/Library.tmpl,v 3.23tsi Exp $

#ifndef DoNormalLib
#define DoNormalLib NO
#endif
#ifndef DoSharedLib
#define DoSharedLib NO
#endif
#ifndef DoDebugLib
#define DoDebugLib NO
#endif
#ifndef DoProfileLib
#define DoProfileLib NO
#endif
#ifndef DoExtraLib
#define DoExtraLib NO
#endif

#ifndef HasSharedData
#define HasSharedData NO
#endif
#ifndef HugeLibrary
#define HugeLibrary NO
#endif

#ifndef ShlibBindGlobals
#define ShlibBindGlobals NO
#endif

#if ShlibBindGlobals && defined(ShlibGlobalsFlags)
SHLIBGLOBALSFLAGS = ShlibGlobalsFlags
#endif

#ifndef LibraryCplusplusOptions
# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
#  define LibraryCplusplusOptions SharedLibraryCplusplusOptions
# else
#  define LibraryCplusplusOptions DefaultCplusplusOptions
# endif
#endif
#ifndef LibraryDefines
# define LibraryDefines StandardDefines
#endif
#ifndef LibraryDebugOpt
# define LibraryDebugOpt /**/
#endif
/* Note: Changing LibraryCDebugFlags has no effect because CDEBUGFLAGS is over-
   ridden by PassCDebugFlags in the parent Makefile or toplevel xmakefile. */
#ifndef LibraryCDebugFlags
# define LibraryCDebugFlags DefaultCDebugFlags
#endif
#ifndef LibraryCplusplusDebugFlags
# define LibraryCplusplusDebugFlags DefaultCplusplusDebugFlags
#endif
#ifndef SeparateSharedCompile
# define SeparateSharedCompile YES
#endif

#ifdef CrossCompileDir
# ifndef StripPath
#  define StripPath(x) `echo x|sed "s%.*/%%"`
# endif
#endif

#ifndef CplusplusSource
# ifndef LibraryCcCmd
#  if DoSharedLib && defined(SharedLibraryCcCmd)
#   define LibraryCcCmd SharedLibraryCcCmd
#  else
#   define LibraryCcCmd CcCmd
#  endif
# endif
# ifndef LibraryCCOptions
#  if DoSharedLib && defined(SharedLibraryCCOptions)
#   define LibraryCCOptions SharedLibraryCCOptions
#  else
#   define LibraryCCOptions DefaultCCOptions
#  endif
# endif

#ifdef CrossCompileDir
# ifndef CrossLibraryCcCmd
#  define CrossLibraryCcCmd Concat3(CrossCompileDir,/,StripPath(LibraryCcCmd))
# endif
#endif

#ifdef CrossCompileDir
         CC = CrossLibraryCcCmd
#else
         CC = LibraryCcCmd
#endif
  CCOPTIONS = LibraryCCOptions
STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
CDEBUGFLAGS = LibraryCDebugFlags
CLIBDEBUGFLAGS = LibraryDebugOpt
     CFLAGS = $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
# if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
   PICFLAGS = LargePositionIndependentCFlags
# endif
#else
# ifndef CrossCompileDir
#  ifndef LibraryCplusplusCmd
#   if DoSharedLib && defined(SharedLibraryCplusplusCmd)
#    define LibraryCplusplusCmd SharedLibraryCplusplusCmd
#   else
#    define LibraryCplusplusCmd CplusplusCmd
#   endif
#  endif
# else
#  ifndef CrossLibraryCplusplusCmd
#   if DoSharedLib && defined(SharedLibraryCplusplusCmd)
#    define CrossLibraryCplusplusCmd Concat3(CrossCompileDir,/,StripPath(SharedLibraryCplusplusCmd))
#   else
#    define CrossLibraryCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd))
#   endif
#  endif
# endif

# ifndef LibraryCplusplusOptions
#  if DoSharedLib && defined(SharedLibraryCplusplusOptions)
#   define LibraryCplusplusOptions SharedLibraryCplusplusOptions
#  else
#   define LibraryCplusplusOptions DefaultCplusplusOptions
#  endif
# endif

#ifdef CrossCompileDir
          CXX = CrossLibraryCplusplusCmd
#else
          CXX = LibraryCplusplusCmd
#endif
   CXXOPTIONS = LibraryCplusplusOptions
  STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
CXXDEBUGFLAGS = LibraryCplusplusDebugFlags
CXXLIBDEBUGFLAGS = LibraryDebugOpt
     CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXLIBDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
# if defined(LargePICTable) && LargePICTable
#  ifdef LargePositionIndependentCplusplusFlags
  CXXPICFLAGS = LargePositionIndependentCplusplusFlags
#  elif defined(LargePositionIndependentCFlags)
  CXXPICFLAGS = LargePositionIndependentCFlags
#  endif
# endif
#endif

#ifdef LibraryMTDefines
LIB_MT_DEFINES = LibraryMTDefines
#endif

#if defined(IHaveSubdirs) && HasSymLinks && !defined(NoLibSubdirs)
#define _LibMkdir LibMkdirLinkSubdirs
#else
#define _LibMkdir LibMkdir
#endif

#if DoDebugLib
# define _DebuggedLibMkdir() _LibMkdir(debugger)
# define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
# define _DebuggedObjCplusplusCompile(options) DebuggedLibObjCplusplusCompile(options)
# define _DebuggedCleanDir() LibCleanDir(debugger)
#else
# define _DebuggedLibMkdir() $(_NULLCMD_)
# define _DebuggedObjCompile(options) $(_NULLCMD_)
# define _DebuggedObjCplusplusCompile(options) $(_NULLCMD_)
# define _DebuggedCleanDir() $(_NULLCMD_)
#endif

#if DoProfileLib
# define _ProfiledLibMkdir() _LibMkdir(profiled)
# define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
# define _ProfiledObjCplusplusCompile(options) ProfiledLibObjCplusplusCompile(options)
# define _ProfiledCleanDir() LibCleanDir(profiled)
#else
# define _ProfiledLibMkdir() $(_NULLCMD_)
# define _ProfiledObjCompile(options) $(_NULLCMD_)
# define _ProfiledObjCplusplusCompile(options) $(_NULLCMD_)
# define _ProfiledCleanDir() $(_NULLCMD_)
#endif

#if !DoNormalLib
# define _NormalLibMkdir() $(_NULLCMD_)
# define _NormalObjCompile(options) $(_NULLCMD_)
# define _NormalObjCplusplusCompile(options) $(_NULLCMD_)
# define _NormalCleanDir() $(_NULLCMD_)
#else
# if DoSharedLib && SeparateSharedCompile
#  define _NormalLibMkdir() _LibMkdir(unshared)
#  define _NormalObjCompile(options) UnsharedLibObjCompile(options)
#  define _NormalObjCplusplusCompile(options) UnsharedLibObjCplusplusCompile(options)
#  define _NormalCleanDir() LibCleanDir(unshared)
# else
#  define _NormalLibMkdir() $(_NULLCMD_)
#  if !DoSharedLib &&  defined(IncludeSharedObjectInNormalLib)
#   define _NormalObjCompile(options) NormalRelocLibObjCompile(options)
#  else
#   define _NormalObjCompile(options) NormalLibObjCompile(options)
#  endif
#  define _NormalObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
#  define _NormalCleanDir() $(_NULLCMD_)
# endif
#endif

#if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
# define _SharedObjCompile(options) $(_NULLCMD_)
# define _SharedObjCplusplusCompile(options) $(_NULLCMD_)
#else
# if SeparateSharedCompile
#  define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
#  define _SharedObjCplusplusCompile(options) NormalSharedLibObjCplusplusCompile(options)
#else
# define _SharedObjCompile(options) NormalLibObjCompile(options)
# define _SharedObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
#endif
#endif

#ifndef LibInstallBuild
#define LibInstallBuild NO
#endif

#if DoExtraLib && defined(ExtraLibRules)
# define _ExtraLibMkdir() ExtraLibMkdir()
# define _ExtraObjCompile(options) ExtraObjCompile(options)
# define _ExtraObjCplusplusCompile(options) ExtraObjCplusplusCompile(options)
# define _ExtraCleanDir() ExtraCleanDir()
#else
# define _ExtraLibMkdir() $(_NULLCMD_)
# define _ExtraObjCompile(options) $(_NULLCMD_)
# define _ExtraObjCplusplusCompile(options) $(_NULLCMD_)
# define _ExtraCleanDir() $(_NULLCMD_)
#endif

#ifndef CplusplusSource
# define SRCsuf c
# define Isuf i
#else
# define SRCsuf CCsuf
# define Isuf ii
# ifdef SunArchitecture
.SUFFIXES: Concat(.,CCsuf)
# endif
#endif

#define _CompileObj(target, options)					@@@@\
target									@@@@\
	_DebuggedObjCompile(options)					@@@@\
	_ProfiledObjCompile(options)					@@@@\
	_NormalObjCompile(options)					@@@@\
	_ExtraObjCompile(options)					@@@@\
	_SharedObjCompile(options)

#ifndef SeparateSharedCompile
# define _CompileObjSeparateOpts(target,staticopts,sharedopts) \
	_CompileObj(target,sharedopts)
#else
# define _CompileObjSeparateOpts(target,staticopts,sharedopts)		@@@@\
target									@@@@\
	_DebuggedObjCompile(staticopts)					@@@@\
	_ProfiledObjCompile(staticopts)					@@@@\
	_NormalObjCompile(staticopts)					@@@@\
	_ExtraObjCompile(staticopts)					@@@@\
	_SharedObjCompile(sharedopts)
#endif

#ifdef CplusplusSource
# define _CompileObjCplusplus(target, options)				@@@@\
target									@@@@\
	_DebuggedObjCplusplusCompile(options)				@@@@\
	_ProfiledObjCplusplusCompile(options)				@@@@\
	_NormalObjCplusplusCompile(options)				@@@@\
	_ExtraObjCplusplusCompile(options)				@@@@\
	_SharedObjCplusplusCompile(options)
#else
# define _CompileObjCplusplus(target, options)
#endif

#ifndef LibraryObjectRule
# define LibraryObjectRule()						@@@@\
all::									@@@@\
	_DebuggedLibMkdir()						@@@@\
	_ProfiledLibMkdir()						@@@@\
	_NormalLibMkdir()						@@@@\
	_ExtraLibMkdir()						@@@@\
									@@@@\
includes::								@@@@\
	_DebuggedLibMkdir()						@@@@\
	_ProfiledLibMkdir()						@@@@\
	_NormalLibMkdir()						@@@@\
	_ExtraLibMkdir()						@@@@\
									@@@@\
_CompileObj(.c.Osuf:,$(_NOOP_))						@@@@\
_CompileObjCplusplus(.SRCsuf.Osuf:,$(_NOOP_))				@@@@\
									@@@@\
clean::									@@@@\
	_DebuggedCleanDir()						@@@@\
	_ProfiledCleanDir()						@@@@\
	_NormalCleanDir()						@@@@\
	_ExtraCleanDir()						@@@@\

#endif /* LibraryObjectRule */

#ifndef SpecialLibObjectRule
# define SpecialLibObjectRule(objs,depends,options)			@@@@\
_CompileObj(objs: depends,options)
#endif /* SpecialLibObjectRule */

#ifndef SpecialCLibObjectRule
# define SpecialCLibObjectRule(basename,depends,options)		@@@@\
_CompileObj(basename.Osuf: basename.SRCsuf depends,options)		@@@@\
									@@@@\
basename.Isuf: basename.SRCsuf depends					@@@@\
	CPPOnlyCompile(basename.SRCsuf,options)				@@@@\
									@@@@\
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
#endif /* SpecialCLibObjectRule */

#ifndef SpecialCLibObjectRuleSeparateOpts
# define SpecialCLibObjectRuleSeparateOpts(basename,depends,staticopts,shopts) @@@@\
_CompileObjSeparateOpts(basename.Osuf: basename.SRCsuf depends,staticopts,shopts)	@@@@\
									@@@@\
basename.Isuf: basename.SRCsuf depends					@@@@\
	CPPOnlyCompile(basename.SRCsuf,sharedopts)			@@@@\
									@@@@\
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
#endif /* SpecialCLibObjectRuleSepareateOpts */

#ifndef SpecialCplusplusLibObjectRule
# define SpecialCplusplusLibObjectRule(basename,depends,options)	@@@@\
_CompileObjCplusplus(basename.Osuf: basename.SRCsuf depends,options)	@@@@\
									@@@@\
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
#endif /* SpecialCplusplusLibObjectRule */

/*
 * ToolkitMakeStrings generates a string-table, i.e., a C source
 * file and the matching header(s), e.g., Xt's StringDefs.c, StringDefs.h,
 * and Shell.h files; or Motif's XmStrDefs.c and XmStrDefs.h files.
 *
 * The 'files' argument is the list of files that will be produced by
 * this rule, e.g., for Xt they would be "Shell.h StringDefs.c StringDefs.h"
 * and for Motif they would be "XmStrDefs.c XmStrDefs.h".
 *
 * The 'source' argument is the string-list file to be parsed, e.g., in
 * Xt that would be "util/string.list".  For Motif 2.0 it would be
 * "../../tools/makestr/xmstring.list", and for Motif-CDE1 it would be
 * "util/xmstring.list".
 *
 * The 'options' argument is passed by the library's Imakefile, see the
 * Xt Imakefile for an example.  Typically this would be nothing, -intelabi,
 * or -sparcabi; there are other choices, but these are typical.
 *
 * The 'depends' argument names additional files the target files
 * depend on.  It should name the #ctmpl and #htmpl files from the
 * 'source' file.
 *
 * The 'dest' argument is the C source output file.  For Xt this should
 * be "StringDefs.c", and for all versions of Motif it would be "XmStrDefs.c"
 *
 * Headers are generated and named according to data in the 'source'
 * file.
 */
/*
 * The NoCmpScript
 * prevents clearmake from trying to remake makestrs if it exists.
 * Including both $(MAKESTRS) and $(MAKESTRS).o as primary targets
 * prevents clearmake from trying to recompile makestrs from here.
 * We have includes, not files, depend on makestrs to try to get
 * clearmake to wink in the files.  Bug in clearmake 2.0.2?
 */

#ifndef MakeStringsDependency
# ifndef UseInstalled
#  define MakeStringsDependency						@@@@\
MAKESTRS = $(CONFIGSRC)/util/makestrs					@@@@\
NoCmpScript(HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf)	@@@@\
									@@@@\
HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf:			@@@@\
	cd $(CONFIGSRC)/util && $(MAKE) HostProgramTargetName(makestrs)	@@@@\
									@@@@\
includes:: HostProgramTargetName($(MAKESTRS))
# else
#  define MakeStringsDependency  /**/
# endif
#endif

#ifndef ToolkitMakeStrings
# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
#  define ToolkitMakeStrings(files,source,options,depends,dest)		@@@@\
files: source depends							@@@@\
	RemoveFiles(files)						@@@@\
	RunProgram(MAKESTRS,options < source > dest)			@@@@\
									@@@@\
AllTarget(files)							@@@@\
									@@@@\
includes:: files							@@@@\
									@@@@\
depend:: files								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles(files)
# else
#  define ToolkitMakeStrings(files,source,options,depends,dest)		@@@@\
MakeStringsDependency							@@@@\
									@@@@\
files: source depends							@@@@\
	RemoveFiles(files)						@@@@\
	RunProgram(MAKESTRS,options < source > dest)			@@@@\
									@@@@\
AllTarget(files)							@@@@\
									@@@@\
includes:: files							@@@@\
									@@@@\
depend:: files								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles(files)
# endif
#endif /* ToolkitMakeStrings */

#ifdef LibName

LIBNAME = LibName

# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
/*
 * Do ToolkitMakeStrings() before BuildIncludes so makestrs is still
 * built first, even if the generated header will be installed.
 */
MakeStringsDependency
# endif

LibraryObjectRule()

# undef _LinkBuildLibrary
# if !defined(LibInstall) || LibInstall || LibInstallBuild
#  define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
# else
#  define _LinkBuildLibrary(lib) $(_NULLCMD_)
# endif

# if defined(LibBuild) && !LibBuild
#  define LibCreate NO
# endif

# if !defined(LibCreate) || LibCreate
#  if DoSharedLib
#   if HugeLibrary && defined(SharedLibraryTarget3)
SharedLibraryTarget3($(LIBNAME),$(SoRev),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRASHAREDOBJS),.,.)
#   else
#    if defined(SharedLibtoolRev) && defined(SharedLibtoolLibraryTarget)
SharedLibtoolLibraryTarget($(LIBNAME),SharedLibtoolRev,$(OBJS) $(EXTRASHAREDOBJS),.,.)
#    else
SharedLibraryTarget($(LIBNAME),$(SoRev),$(OBJS) $(EXTRASHAREDOBJS),.,.)
#    endif
#   endif
#   if !defined(LibInstall) || LibInstall
#    if defined(SharedLibtoolRev) && defined(InstallSharedLibtoolLibrary)
InstallSharedLibtoolLibrary($(LIBNAME),SharedLibtoolRev,$(SHLIBDIR))
#    else
InstallSharedLibrary($(LIBNAME),$(SoRev),$(SHLIBDIR))
#    endif
#   endif
#   if HasSharedData
SharedLibraryDataTarget($(LIBNAME),$(SoRev),$(UNSHAREDOBJS))
#    if !defined(LibInstall) || LibInstall
InstallSharedLibraryData($(LIBNAME),$(SoRev),$(SHLIBDIR))
#    endif
#   endif
#  endif
#  if DoNormalLib
#   if HugeLibrary
#    if DoSharedLib && SeparateSharedCompile
UnsharedLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRAUNSHAREDOBJS),unshared,..)
#    else
NormalLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRAUNSHAREDOBJS))
#    endif
#   else
#    if DoSharedLib && SeparateSharedCompile
UnsharedLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS),unshared,..)
#    else
NormalLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
#    endif
#   endif
#   if !defined(LibInstall) || LibInstall
InstallLibrary($(LIBNAME),$(USRLIBDIR))
#   endif
#  endif
#  if DoProfileLib
ProfiledLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
#   if !defined(LibInstall) || LibInstall
InstallLibrary($(LIBNAME)_p,$(USRLIBDIR))
#   endif
#  endif
#  if DoDebugLib
DebuggedLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
#   if !defined(LibInstall) || LibInstall
InstallLibrary($(LIBNAME)_d,$(USRLIBDIR))
#   endif
#  endif
#  if DoExtraLib && defined(ExtraLibRules)
ExtraLibraryTarget($(LIBNAME),$(SoRev),$(OBJS) $(EXTRAUNSHAREDOBJS))
#   if !defined(LibInstall) || LibInstall
ExtraInstallLibrary($(LIBNAME),$(SoRev))
#   endif
#  endif

LintLibraryTarget($(LIBNAME),$(SRCS))
#  if !defined(LibInstall) || LibInstall
InstallLintLibrary($(LIBNAME),$(LINTLIBDIR))
#  endif
# else /* not LibCreate */
#  if LibBuild
#   if HugeLibrary
AllTarget($(OBJS1))
AllTarget($(OBJS2))
AllTarget($(OBJS3))
#   else
AllTarget($(OBJS))
#   endif
#   if DoSharedLib
AllTarget($(EXTRASHAREDOBJS))
#   endif
#   if DoNormalLib
AllTarget($(EXTRAUNSHAREDOBJS))
#   endif
#  endif /* LibBuild */
# endif /* LibCreate */
# ifdef IncSubdir
#  ifdef IncSubSubdir
#   if !defined(LibHeaders) || LibHeaders
BuildIncludes($(HEADERS),IncSubdir/IncSubSubdir,../..)
#    if BuildLibraries
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir/IncSubSubdir,$(INSTINCFLAGS))
#     endif
#   endif
#  else
#   if !defined(LibHeaders) || LibHeaders
BuildIncludes($(HEADERS),IncSubdir,..)
#    if BuildLibraries
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))
#    endif
#   endif
#  endif
# else
#  ifndef CplusplusSource
#   if !defined(LibHeaders) || LibHeaders
BuildIncludesTop($(HEADERS))
#    if BuildLibraries
InstallMultipleFlags($(HEADERS),$(INCDIR),$(INSTINCFLAGS))
#    endif
#   endif
#  endif
# endif

NormalLintTarget($(SRCS))
#endif /* defined(LibName) */

#ifdef NoSoSymlink
SOSYMLINK = false
#else
SOSYMLINK = true
#endif
@


1.1.1.1
log
@initial import of xorg-cf-files-1.0.2
@
text
@@
