+++ /dev/null
-/*
- * 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 $TOG: Library.tmpl /main/44 1997/04/28 11:47:53 kaleb $
-
-
-
-
-XCOMM $XFree86: xc/config/cf/Library.tmpl,v 3.5.2.1 1997/06/11 12:08:29 dawes Exp $
-
-#ifndef LibraryCplusplusOptions
-# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
-# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
-# else
-# define LibraryCplusplusOptions DefaultCplusplusOptions
-# endif
-#endif
-#ifndef LibraryDefines
-# define LibraryDefines StandardDefines
-#endif
-#ifndef LibraryCDebugFlags
-# define LibraryCDebugFlags DefaultCDebugFlags
-#endif
-#ifndef LibraryCplusplusDebugFlags
-# define LibraryCplusplusDebugFlags DefaultCplusplusDebugFlags
-#endif
-#ifndef SeparateSharedCompile
-# define SeparateSharedCompile YES
-#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
-
- CC = LibraryCcCmd
- CCOPTIONS = LibraryCCOptions
-STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
-CDEBUGFLAGS = LibraryCDebugFlags
-# if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
- PICFLAGS = LargePositionIndependentCFlags
-# endif
-#else
-# ifndef LibraryCplusplusCmd
-# if DoSharedLib && defined(SharedLibraryCplusplusCmd)
-# define LibraryCplusplusCmd SharedLibraryCplusplusCmd
-# else
-# define LibraryCplusplusCmd CplusplusCmd
-# endif
-# endif
-# ifndef LibraryCplusplusOptions
-# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
-# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
-# else
-# define LibraryCplusplusOptions DefaultCplusplusOptions
-# endif
-# endif
-
- CXX = LibraryCplusplusCmd
- CXXOPTIONS = LibraryCplusplusOptions
- STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
-CXXDEBUGFLAGS = LibraryCplusplusDebugFlags
-# if defined(LargePICTable) && LargePICTable
-# ifdef LargePositionIndependentCplusplusFlags
- CXXPICFLAGS = LargePositionIndependentCplusplusFlags
-# elif defined(LargePositionIndependentCFlags)
- CXXPICFLAGS = LargePositionIndependentCFlags
-# endif
-# endif
-#endif
-
-LIB_MT_DEFINES = LibraryMTDefines
-
-#if defined(IHaveSubdirs) && HasSymLinks
-#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_)
-# define _NormalObjCompile(options) NormalLibObjCompile(options)
-# 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 CplusplusSource
-# define SRCsuf c
-#else
-# define SRCsuf CCsuf
-# ifdef SunArchitecture
-.SUFFIXES: .CCsuf
-# endif
-#endif
-
-#define _CompileObj(target, options) @@\
-target @@\
- _DebuggedObjCompile(options) @@\
- _ProfiledObjCompile(options) @@\
- _NormalObjCompile(options) @@\
- _SharedObjCompile(options)
-
-#ifdef CplusplusSource
-# define _CompileObjCplusplus(target, options) @@\
-target @@\
- _DebuggedObjCplusplusCompile(options) @@\
- _ProfiledObjCplusplusCompile(options) @@\
- _NormalObjCplusplusCompile(options) @@\
- _SharedObjCplusplusCompile(options)
-#else
-# define _CompileObjCplusplus(target, options)
-#endif
-
-#ifndef LibraryObjectRule
-# define LibraryObjectRule() @@\
-all:: @@\
- _DebuggedLibMkdir() @@\
- _ProfiledLibMkdir() @@\
- _NormalLibMkdir() @@\
- @@\
-includes:: @@\
- _DebuggedLibMkdir() @@\
- _ProfiledLibMkdir() @@\
- _NormalLibMkdir() @@\
- @@\
-_CompileObj(.c.Osuf:,$(_NOOP_)) @@\
-_CompileObjCplusplus(.SRCsuf.Osuf:,$(_NOOP_)) @@\
- @@\
-clean:: @@\
- _DebuggedCleanDir() @@\
- _ProfiledCleanDir() @@\
- _NormalCleanDir() @@\
-
-#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.i: basename.SRCsuf depends @@\
- CPPOnlyCompile(basename.SRCsuf,options) @@\
- @@\
-CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
-#endif /* SpecialCLibObjectRule */
-
-#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
-# define MakeStringsDependency @@\
-MAKESTRS = $(CONFIGSRC)/util/makestrs @@\
-NoCmpScript(ProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf) @@\
- @@\
-ProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf: @@\
- cd $(CONFIGSRC)/util && $(MAKE) ProgramTargetName(makestrs) @@\
- @@\
-includes:: ProgramTargetName($(MAKESTRS))
-#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
-# define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
-# else
-# define _LinkBuildLibrary(lib) $(_NULLCMD_)
-# endif
-
-# if !defined(LibCreate) || LibCreate
-# if DoSharedLib
-# if HugeLibrary && defined(SharedLibraryTarget3)
-SharedLibraryTarget3($(LIBNAME),$(SoRev),$(OBJS1),$(OBJS2),$(OBJS3),.,.)
-# else
-SharedLibraryTarget($(LIBNAME),$(SoRev),$(OBJS),.,.)
-# endif
-# if !defined(LibInstall) || LibInstall
-InstallSharedLibrary($(LIBNAME),$(SoRev),$(SHLIBDIR))
-# 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),unshared,..)
-# else
-NormalLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3))
-# endif
-# else
-# if DoSharedLib && SeparateSharedCompile
-UnsharedLibraryTarget($(LIBNAME),$(OBJS),unshared,..)
-# else
-NormalLibraryTarget($(LIBNAME),$(OBJS))
-# endif
-# endif
-# if !defined(LibInstall) || LibInstall
-InstallLibrary($(LIBNAME),$(USRLIBDIR))
-# endif
-# endif
-# if DoProfileLib
-ProfiledLibraryTarget($(LIBNAME),$(OBJS))
-# if !defined(LibInstall) || LibInstall
-InstallLibrary($(LIBNAME)_p,$(USRLIBDIR))
-# endif
-# endif
-# if DoDebugLib
-DebuggedLibraryTarget($(LIBNAME),$(OBJS))
-# if !defined(LibInstall) || LibInstall
-InstallLibrary($(LIBNAME)_d,$(USRLIBDIR))
-# endif
-# endif
-
-LintLibraryTarget($(LIBNAME),$(SRCS))
-# if !defined(LibInstall) || LibInstall
-InstallLintLibrary($(LIBNAME),$(LINTLIBDIR))
-# endif
-# else /* not LibCreate */
-# if HugeLibrary
-AllTarget($(OBJS1))
-AllTarget($(OBJS2))
-AllTarget($(OBJS3))
-# else
-AllTarget($(OBJS))
-# endif
-# endif /* LibCreate */
-# ifdef IncSubdir
-# ifdef IncSubSubdir
-BuildIncludes($(HEADERS),IncSubdir/IncSubSubdir,../..)
-InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir/IncSubSubdir,$(INSTINCFLAGS))
-# else
-BuildIncludes($(HEADERS),IncSubdir,..)
-InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))
-# endif
-# else
-# ifndef CplusplusSource
-# if !defined(LibHeaders) || LibHeaders
-BuildIncludesTop($(HEADERS))
-InstallMultipleFlags($(HEADERS),$(INCDIR),$(INSTINCFLAGS))
-# endif
-# endif
-# endif
-
-NormalLintTarget($(SRCS))
-#endif /* defined(LibName) */